zoukankan      html  css  js  c++  java
  • leetcode 98. Validate Binary Search Tree

    最简单的想法,中序遍历二叉树:

    • 递归中序遍历二叉树,得到一个中序遍历的序列
    • 判断这个序列是不是有序
    class Solution {
    public:
        void midTree(TreeNode * root, vector<int> & list)
        {
            if(root->left==NULL&&root->right==NULL)
            {
                list.push_back(root->val);
                return;
            }
             if(root->left)   
            midTree(root->left,list);
            list.push_back(root->val);
            if(root->right)
            midTree(root->right,list);
            
        }
        bool isValidBST(TreeNode* root) {
            vector<int> list;
            if(root==NULL)
                return true;
            midTree(root,list);
            
            for(int i=0;i<list.size()-1;i++)
            {
                cout<<list[i]<<endl;
                if(list[i+1]<=list[i])
                    return false;
            }
            return true;
        }
    };

    或者直接判断:

    • 中序遍历,后面的节点要比前面遍历的节点值大
    class Solution {
        // make sure it meets the BST not only at this level,
        // but also previous level
        // in-order access could produce a ascending order list
        // DFS
        bool helper(TreeNode * root) {
            if (root == NULL) {
                return true;
            }
            
            if (!helper(root->left)) {
                return false;
            }
            
            if (prev != NULL && prev->val >= root->val) {
                return false;
            }
            
            prev = root;
            
            return helper(root->right);
        }
    public:
        TreeNode* prev = NULL;
        bool isValidBST(TreeNode* root) {
            return helper(root);
        }
    };
    

      

  • 相关阅读:
    linux shell 总结
    python小结
    python与execl的读写
    利用burpsuits暴力破解登陆界面
    python之函数的使用
    Sublime text怎么识别input函数
    ping的禁止
    Hbase的配置与使用
    JAVA 利用反射自定义数据层框架
    JAVA实现网页上传头像
  • 原文地址:https://www.cnblogs.com/fanhaha/p/7348446.html
Copyright © 2011-2022 走看看