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'))