LeetcodeJun 10, 2025

Validate Binary Search Tree

Hazrat Ali

Leetcode

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

valid BST is defined as follows:

  • The left  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: 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.


Solution
/**
 * @param {TreeNode} root
 * @return {boolean}
 */
const isValidBST = root => {
  if (!root) {
    return false;
  }

  const helper = (root, min, max) => {
    if (!root) {
      return true;
    }

    if ((min !== null && root.val <= min) || (max !== null && root.val >= max)) {
      return false;
    }

 
    return helper(root.left, min, root.val) && helper(root.right, root.val, max);
  };

  return helper(root, null, null);
};



Comments