BST的定义: 左孩子的值 < root的值 < 右孩子的值, 左右子树都是BST
[Notes]:
在我的概念里,BST是可以有重复的value的, 但LC和Wikipedia都说不能有duplicate。 去看了下算法导论上的定义,也是可以相等的。 我还在迷惑中.... 此题要通过oj, 还是按LC的定义。
public class Solution {
public boolean isValidBST(TreeNode root) {
return validBST(root, Integer.MIN_VALUE, Integer.MAX_VALUE);
}
public boolean validBST(TreeNode root, int min, int max){
if(root==null) return true;
if(root.val<=min || root.val>=max)
return false;
return validBST(root.left, min, root.val) && validBST(root.right, root.val, max);
}
}
No comments:
Post a Comment