98. 验证二叉搜索树

2021-10-13  本文已影响0人  名字是乱打的

思路:

中序遍历二叉树,中序遍历即左,中,右的判断,我们只需要保证前一个结点的值小于当前结点即可;

代码:

class Solution {
        long pre = Long.MIN_VALUE;

        public boolean isValidBST(TreeNode root) {
            if (root == null) {
                return true;
            }

            //左子树判断
            if (!isValidBST(root.left)) {
                return false;
            }

            //当前结点判断
            //如果当前结点小于前一个结点,则说明不是二叉搜索树
            if (root.val <= pre) {
                return false;
            }

            //右节点的前一个结点应该是当前结点哟,这里要提前替换
            pre = root.val;

            return isValidBST(root.right);
        }
    }
上一篇 下一篇

猜你喜欢

热点阅读