Given the root of a binary tree, determine if it is a valid binary search tree (BST).
A valid BST is defined as follows:
2 / \ 1 3
Input: root = [2, 1, 3] Output: True
5
/ \
1 4
/ \
3 6
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, which is not greater than 5.
[0, 10^4].-2^31 <= Node.val <= 2^31 - 1root = [2, 1, 3]