美文网首页程序员
力扣 98 验证二叉搜索树

力扣 98 验证二叉搜索树

作者: zhaojinhui | 来源:发表于2020-09-02 10:04 被阅读0次

题意:给定一个树,判定它是否是二叉搜索树

思路:遍历每一个节点,保证当前节点不大于最大值和不小于最小值,同时根据下一次递归当前节点的左右子树,来跟新最大最小值

思想:先跟遍历

复杂度:时间O(n2),空间O(n)

class Solution {
    public boolean isValidBST(TreeNode root) {
        long max = (long)Integer.MAX_VALUE + 1;
        long min = (long)Integer.MIN_VALUE - 1;
        return isValid(root, max, min);
    }
    boolean isValid(TreeNode root, long max, long min) {
        if(root == null)
            return true;
        if((long)root.val >= max || (long)root.val <= min)
            return false;
        return isValid(root.left, (long) root.val, min) &&
               isValid(root.right, max, (long) root.val);
    }
}

相关文章

网友评论

    本文标题:力扣 98 验证二叉搜索树

    本文链接:https://www.haomeiwen.com/subject/youisktx.html