Validate Binary Search Tree
Beginner Mode

Problem Statement

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.

Additional information

  • The number of nodes in the tree is in the range [1, 10^4].
  • -2^31 <= Node.val <= 2^31 - 1

Example 1:

Input: root = [2, 1, 3]

Output: true

Example 2:

Input: root = [5, 1, 4, null, null, 3, 6]

Output: false

Explanation: The root node's value is 5 but its right child's value is 4. Also, the node with value 3 is in the right subtree of 5, but 3 < 5.

Example 3:

Input: root = [2, 2, 2]

Output: false

Explanation: The left and right children must be strictly less than and strictly greater than the root, respectively.

Quick Solution

Code Environment

Sign in or try as guest to run your code.

Sign In

Track

Question Difficulty Company Access
Need more practice in this area? Explore more questions →