您好,老师。根据您的思路,解决的函数可以解决大部分场景。但是有一个场景,无法解决。请老师帮忙看一下。
以下是leetcode的题。当输入值为 [10,5,15,null,null,6,20] 时,解题错误。
主要的问题在于节点6,6小于父节点15,且在父节点的左边,但是6小于根节点10,且在根节点的右边。
var isValidBST = function(root) {
if (!root) {
return true
}
return judge(root)
};
function judge(node) {
if (!node.left && !node.right) {
return true
}
if (node.left && node.left.val>=node.val) {
return false
}
if (node.right && node.right.val<=node.val) {
return false
}
return judge(node.left) && judge(node.right)
}