Validate Binary Search Tree

treeArray
[2, 1, 3]
1def isValidBST(root):
2  def validate(node, min_val, max_val):
3    if not node:
4      return True
5
6    # Check if current node violates BST property
7    if node.val <= min_val or node.val >= max_val:
8      return False
9
10    # Recursively validate left and right subtrees
11    left_valid = validate(node.left, min_val, node.val)
12    if not left_valid:
13      return False
14
15    right_valid = validate(node.right, node.val, max_val)
16    if not right_valid:
17      return False
18
19    return True
20
21  return validate(root, float('-inf'), float('inf'))
0 / 18
213visitedcurrentunvisited