leetcode98_验证二叉搜索树

这道题有个大陷阱就是,不能单纯比较根节点和左右两个子节点的关系。
所以需要中序遍历,让每个子节点和它的上一个节点进行对比。

class Solution {
    TreeNode pre = null;
    public boolean isValidBST(TreeNode root) {
        if(root == null) return true;
        boolean left = isValidBST(root.left);
        if(pre != null && pre.val >= root.val) return false;
        pre = root;
        boolean right = isValidBST(root.right);
        return left & right;
    }
}
posted @ 2022-03-06 15:19  明卿册  阅读(28)  评论(0)    收藏  举报