给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。
有效 二叉搜索树定义如下:
- 节点的左子树只包含 小于 当前节点的数。
- 节点的右子树只包含 大于 当前节点的数。
- 所有左子树和右子树自身必须也是二叉搜索树。
/** * Definition for a binary tree node. * function TreeNode(val, left, right) { * this.val = (val===undefined ? 0 : val) * this.left = (left===undefined ? null : left) * this.right = (right===undefined ? null : right) * } */ /** * @param {TreeNode} root * @return {boolean} */ const isValidBST = (root) => { const valid = (root, l, r) => { if (!root) return true if (root.val <= l || root.val >= r) { return false } return valid(root.left, l, root.val) && valid(root.right, root.val, r) } return valid(root, -Infinity, Infinity) };
标签:right,return,val,验证,valid,二叉树,root,left From: https://www.cnblogs.com/zhenjianyu/p/17110245.html