二叉树的后序遍历序列
bool helper(vector<int> &input, int start, int end) { if(start>=end) return true; int mark=input[end]; int pos=-1; for(int i=start; i<end; i++) { if(input[i]>mark) { pos=i; break; } } if(pos==-1||pos==end) { return helper(input, start, end-1); } for(int i=pos; i<end; i++) { if(input[i]<mark) { return false; } } return helper(input,start,pos-1)&&helper(input,pos,end-1); } bool VerifySquenceOfBST(vector<int> input) { int len=input.size(); if(len==0) return false; return helper(input, 0, len-1); }
posted on 2017-09-22 19:21 www_practice 阅读(241) 评论(0) 编辑 收藏 举报