🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
Given a binary tree, determine if it is a valid binary search tree (BST). Assume a BST is defined as follows: * The left subtree of a node contains only nodes with keys**less than**the node's key. * The right subtree of a node contains only nodes with keys**greater than**the node's key. * Both the left and right subtrees must also be binary search trees. **Example 1:** ~~~ 2 / \ 1 3 Input: [2,1,3] Output: true ~~~ **Example 2:** ~~~ 5 / \ 1 4   / \   3 6 Input: [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. ~~~ ~~~ var isValidBST = function(root) { return isvalid(root,Infinity,-Infinity); function isvalid(node,max,min){ if(node===null){ return true; } if(node.val>=max || node.val<=min) return false; return isvalid(node.left,node.val,min) && isvalid(node.right,max,node.val); } }; ~~~