题目

给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。
有效 二叉搜索树定义如下:

节点的左子树只包含 小于 当前节点的数。
节点的右子树只包含 大于 当前节点的数。
所有左子树和右子树自身必须也是二叉搜索树。
image.png

题解

就是通过中序遍历查看是否有序

  1. var isValidBST = function (root) {
  2. let pre = null;
  3. const inOrder = (root) => {
  4. if (!root) {
  5. return true;
  6. }
  7. let left = inOrder(root.left);
  8. if (pre && pre.val >= root.val) {
  9. return false;
  10. }
  11. pre = root;
  12. let right = inOrder(root.right);
  13. return left && right;
  14. };
  15. return inOrder(root);
  16. };