**Problem Statement:**
Given the required input arguments, write an efficient algorithm to solve the **Validate BST** problem. Implement the required logic as specified by standard definitions for this classic algorithmic challenge.
**Hint / Expected Approach:**
DFS with (min, max) bounds
**Edge Cases to Consider:**
- (1) Duplicate values
- (2) Single node
- (3) Violates BST at grandparent level
Examples
Example 1
Input:[2,1,3]
Output:true
Explanation: Simple valid BST
Example 2
Input:[5,1,4,null,null,3,6]
Output:false
Explanation: Right child 4 < root 5
Example 3
Input:[]
Output:true
Explanation: Empty tree is valid BST
Constraints
▪The number of nodes in the tree is in the range [0, 2000]
▪-1000 <= Node.val <= 1000
▪Ensure depth-first or breadth-first traversals are memory-efficient