var isValidBST = function (root) { const isValid = (root, lower, upper) => { if (root === null) return true; if (root.val <= lower || root.val >= upper) return false; return ( isValid(root.left, lower, root.val) && isValid(root.right, root.val, upper) ); }; return isValid(root, -Infinity, Infinity); };