用递归,设置最大值,最小值,与根节点的值比较。
public boolean isValidBST(TreeNode root) {
int min = Integer.MIN_VALUE;
int max = Integer.MAX_VALUE;
return isBSTHelper(root,min,max);
}
boolean isBSTHelper(TreeNode root,int min,int max){
if(root == null)return true;
if(root.val > min && root.val < max){
return isBSTHelper(root.left,min,root.val)&&
isBSTHelper(root.right,root.val,max);
}else{
return false;
}
}