二叉搜索树的后序遍历序列

来源:互联网 发布:windows官方主题 编辑:程序博客网 时间:2024/06/16 21:30

题目描述

输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。


class Solution {public:    bool judge(vector<int> A,int L,int R)    {        if(L>=R)            return true;//递归出口        int root=A[R],i=L;        while(i<=R&&A[i]<root)//左子树            ++i;       for(int j=i;j<=R;++j)//右子树            if(A[j]<root)                return false;       return judge(A,L,i-1)&&judge(A,i,R-1);    }    bool VerifySquenceOfBST(vector<int> seq) {if(seq.empty())            return false;       return judge(seq,0,seq.size()-1);    }};