Given the root of a binary tree, determine if it is a valid binary search tree (BST).
A valid BST is defined as follows:
Problem at Leetcode.