Problem
Write a method that takes a potentially invalid Binary Search Tree (BST) and returns a boolean representing whether the BST is valid. For simplicity, let your BST nodes store integers. Recall that in a BST, all the values stored in the left subtree of any node must be less than or equal to the value at that node, and all the values stored in the right subtree of the node must be strictly larger than the value at the node. A BST is valid if and only if this property is met.