zoukankan      html  css  js  c++  java
  • 二叉搜索树的后序遍历序列

    二叉搜索树的后序遍历序列
     算法知识视频讲解
    较难  通过率:24.71%  时间限制:1秒  空间限制:64M
     
    知识点
    • 题目
    • 题解(58)
    • 讨论(1k)
    • 排行

    描述

    输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字都互不相同。(ps:我们约定空树不是二叉搜素树)

    示例1

    输入:
    [4,8,6,12,16,14,10]
    返回值:
    true
    
     
    class Solution {
    public:
        bool VerifySquenceOfBST(vector<int> sequence) {
            if(sequence.size() == 0) return false;
            if(sequence.size() == 1) return true;
            
            int pos = sequence.size()-1;
            int t = 0;
            
            while(pos >= 0){
                while(sequence[t] < sequence[pos]){
                    t++;
                }
                while(sequence[t] > sequence[pos]){
                    t++;
                }
                if(t != pos) return false;
                
                t = 0;
                pos -= 1;
                
            }
            return true;
        }
    };

    记录一个非递归的方法

  • 相关阅读:
    心得
    第七章
    第六章
    第五章
    第四章
    第三章
    第二章
    第一章
    实验2(4)
    实验2(3)
  • 原文地址:https://www.cnblogs.com/cunyusup/p/14916234.html
Copyright © 2011-2022 走看看