验证二叉搜索树
class Solution {
TreeNode pre = null;
boolean flag = true;
public boolean isValidBST(TreeNode root) {
inorder(root);
return flag;
}
public void inorder(TreeNode root) {
if (root != null) {
inorder(root.left);
if (pre != null && root.val <= pre.val) {
flag = false;
return;
}
pre = root;
inorder(root.right);
}
return;
}
}
class Solution {
TreeNode pre = null;
public boolean isValidBST(TreeNode root) {
if (root == null) return true;
if (!isValidBST(root.left)) return false;
if (pre == null) pre = root;
else {
if (pre.val >= root.val) return false;
pre = root;
}
if (!isValidBST(root.right)) return false;
return true;
}
}