zoukankan      html  css  js  c++  java
  • 剑指 Offer 33. 二叉搜索树的后序遍历序列

    给个后序遍历序列,判断是否是二叉搜索树的。

    根据定义,最后一个是根,先判断能否按大小分成两部分,然后两部分分别递归。

    code

    class Solution {
    public:
        bool verifyPostorder(vector<int>& postorder) {
            int n=postorder.size();
            if(n==0){
                return true;
            }
            int i=0;
            for(;i<n-1;i++){
                if(postorder[i]>postorder[n-1]){
                    break;
                }
            }
            int j=i;
            for(;j<n-1;j++){
                if(postorder[j]<postorder[n-1]){
                    return false;
                }
            }
            vector<int> left;
            vector<int> right;
            for(int k=0;k<i;k++){
                left.push_back(postorder[k]);
            }
            for(int k=i;k<n-1;k++){
                right.push_back(postorder[k]);
            }
            return (verifyPostorder(left) && verifyPostorder(right));
        }
    };
    
  • 相关阅读:
    冒泡排序
    pdo 单例类
    php 事物处理
    支付宝支付
    反向代理和负载均衡
    execl导出
    网络层
    OSI 7层 TCP/IP 4层 综合5层
    面试总结
    CMD AMD
  • 原文地址:https://www.cnblogs.com/zxcoder/p/13180666.html
Copyright © 2011-2022 走看看