题目
给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。
有效 二叉搜索树定义如下:
节点的左子树只包含 小于 当前节点的数。
节点的右子树只包含 大于 当前节点的数。
所有左子树和右子树自身必须也是二叉搜索树。
题解
就是通过中序遍历查看是否有序
var isValidBST = function (root) {
let pre = null;
const inOrder = (root) => {
if (!root) {
return true;
}
let left = inOrder(root.left);
if (pre && pre.val >= root.val) {
return false;
}
pre = root;
let right = inOrder(root.right);
return left && right;
};
return inOrder(root);
};