This practice workspace is built for desktop. Open it on a larger screen to start solving.
Validate Binary Search Tree
Given the root of a binary tree, determine if it is a valid binary search tree (BST).
A valid BST is defined as follows:
- The left subtree of a node contains only nodes with keys strictly less than the node's key.
- The right subtree of a node contains only nodes with keys strictly greater than the node's key.
- Both the left and right subtrees must also be binary search trees.
In particular, equal values are not allowed; and the constraint is global — every node in the left subtree (not just the immediate left child) must be less than the current node, and similarly for the right subtree.
An empty tree is considered a valid BST.
Input convention. Level-order array with null for missing children.
Examples
Constraints
- The number of nodes is in the range [0, 10^4].
- -2^31 <= Node.val <= 2^31 - 1
Preview Mode
This is a read-only preview of DSAMind's AI coaching. Sign up to get custom feedback on your own solution.
Your approach
- Pattern:Depth-First Search
- Time:O(N)
- Space:O(1)
Complete approach — pattern and complexity both named.
Coach
What you got right
You correctly matched the sorted input requirement and implemented a linear-time scan using two pointers.
Where it diverged
No divergence detected. The code correctly aligns with the stated approach.
Next attempt: focus on
Try solving related sliding window problems to build familiarity with two-pointer variants.
Signals
No signals fired — clean run, you stayed in flow.