zoukankan      html  css  js  c++  java
  • [LeetCode98]98. Validate Binary Search Tree判断二叉搜索树

    判断二叉搜索树的方法是:

    中序遍历形成递增序列

    //全局变量记录中序遍历产生的序列,因为要递归,所以要用全局变量
        List<Integer> list = new ArrayList<>();
        public boolean isValidBST(TreeNode root) {
            /*
            这里要注意二叉搜索树的左子树的每个节点都要小于根节点,不只是左孩子,右子树也同样,
            常犯的一个错误就是只是判断了左孩子和右孩子
            正确方法是:中序遍历法,中序遍历之后的结果是一个递增序列
            判断是否是二叉搜索树的方法是:中序遍历法,记住
             */
            if (root==null) return true;
            inOrder(root);
            for (int i = 1; i < list.size(); i++) {
                if (list.get(i)<=list.get(i-1))
                    return false;
            }
            return true;
        }
        void inOrder(TreeNode root){
            if (root==null)
                return;
            inOrder(root.left);
            list.add(root.val);
            inOrder(root.right);
        }
  • 相关阅读:
    Django-xadmin
    Django-DRF框架中认证与权限
    Django-DRF视图集
    Django-DRF序列化器
    javascript
    web-api
    ES6语法
    Redis缓存雪崩、击穿、穿透
    Jetbrains IDEA 系列软件最新crack方案
    jmeter设置代理服务器录制脚本
  • 原文地址:https://www.cnblogs.com/stAr-1/p/8327795.html
Copyright © 2011-2022 走看看