【DFS】LeetCode 98. 验证二叉搜索树

题目链接

98. 验证二叉搜索树

思路

依据 BST 的定义:左子树的结点都比根结点小,右子树的结点都比根结点大。我们在递归过程中传递根节点的值,判断当前结点值与根结点值的大小关系。

代码

class Solution {
    public boolean isValidBST(TreeNode root) {
        return isValidBST(root, Long.MIN_VALUE, Long.MAX_VALUE);
    }

    public boolean isValidBST(TreeNode node, long lower, long upper) {
        if(node == null){
            return true;
        }
        if(node.val <= lower || node.val >= upper){
            return false;
        }
        
        return isValidBST(node.left, lower, node.val) && isValidBST(node.right, node.val, upper);
    }
}
posted @ 2023-02-12 17:53  Frodo1124  阅读(17)  评论(0编辑  收藏  举报