Validate Binary Search Tree Medium 0 attempts
LeetCode ↗

Validate Binary Search Tree

Medium TreeBinary TreeDFS LeetCode

Given the root of a binary tree, determine if it is a valid BST.

Example: root = [2,1,3] → true, root = [5,1,4,null,null,3,6] → false

Sample Input
Sample Output
Constraints
  • 1 <= number of nodes <= 10^4
  • -2^31 <= Node.val <= 2^31 - 1

DFS with Range

function isValidBST(root) {
  function validate(node, min, max) {
    if (!node) return true;
    if (node.val <= min || node.val >= max) return false;
    return validate(node.left, min, node.val) && validate(node.right, node.val, max);
  }
  return validate(root, -Infinity, Infinity);
}

Time: O(n) | Space: O(h)

Saved in this browser only. Private to you.

JavaScript