 All Problems
Validate Binary Search Tree
medium
tree
depth-first search
binary search tree
binary tree
amazon
microsoft
google
facebook

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 less than the node's key.
  • The right subtree of a node contains only nodes with keys greater than the node's key.
  • Both the left and right subtrees must also be binary search trees.

Example 1:

Input:  2 1 3
Output: true

Example 2:

Input:  5 1 4 null null 3 6
Output: false

(Node 4's right child is 4, but 4 < 5, violating BST property at the root)

Constraints:

  • The number of nodes in the tree is in the range [1, 10⁴]
  • -2³¹ ≤ Node.val ≤ 2³¹ - 1

Input format: BFS level-order, space-separated, null for missing nodes.

Output format: true or false.

Run to check your code against the sample cases, or submit to run every case