陪伴而非守候
其实那是每个人在面试中犯的错误。必须根据(minLimitof node,node.value)检查Leftchild必须根据(node.value,nodeMaxLimit)检查RightchildIsValidBST(root,-infinity,infinity);bool IsValidBST(BinaryNode node, int MIN, int MAX) { if(node == null) return true; if(node.element > MIN && node.element < MAX && IsValidBST(node.left,MIN,node.element) && IsValidBST(node.right,node.element,MAX)) return true; else return false;}另一个解决方案(如果空间不是约束):对树进行有序遍历,并将节点值存储在数组中。如果数组按排序顺序排列,则其有效的BST否则无效。