LC 速查

HOT 100索引 › B8 二叉树 Binary Tree

LC 98验证二叉搜索树Validate Binary Search Tree 中等

判断给定二叉树是否满足二叉搜索树的性质。

思路 递归传上下界:值须落在 (lo, hi) 内,左 (lo, val)、右 (val, hi)。时间 O(n)。

class Solution:
    def isValidBST(self, root: TreeNode) -> bool:
        def check(node, lo, hi):
            if not node:
                return True
            if not (lo < node.val < hi):
                return False
            okL = check(node.left, lo, node.val)
            okR = check(node.right, node.val, hi)
            return okL and okR
        return check(root, float('-inf'), float('inf'))
← 上一题 将有序数组转换为二叉搜索树二叉搜索树中第 K 小的元素 下一题 →