class Solution {
public:
//对需要检验的后序遍历序列进行排序,检验它是否可以是排序后的序列(中序)的出栈顺序;是则true
bool VerifySquenceOfBST(vector<int> sequence) {
if(sequence.size() == 0)return false;
stack<int> stk;
vector<int> vinorder(sequence);
sort(vinorder.begin(), vinorder.end());
int j=0;
for(int i=0; i<vinorder.size(); ++i){
stk.push(vinorder[i]);
while(!stk.empty() && stk.top() == sequence[j]){
stk.pop();
++j;
}
}
return j == sequence.size()? true: false;
}
};

京公网安备 11010502036488号