← Tree Traversal

Micro-Drill #204 — BST validate (min/max bounds)

Tree Traversal Target: 10s

Pass valid range [lo, hi) down. Left child must be < root, right must be > root. Check entire subtree, not just children.

def isValidBST(root):
    def dfs(node, lo, hi):
        if not node: return True
        if node.val &lt;= lo or node.val &gt;= hi:
            return False
        return (dfs(node.left, lo, node.val) and
                dfs(node.right, node.val, hi))
    return dfs(root, float('-inf'), float('inf'))

Type it from memory. Go.

Practice Problems

Related Coding Drills

← Micro #203 Micro #205 →