題目:
分析:
很不錯的一道题。好像在洛谷上做过。
最后一个是根。
代碼:
class Solution {
public:
bool f(vector<int>& postorder,int x,int y)
{
if(x>=y) return 1;
int i=x;
for(;i<y;i++)
{
if(postorder[i]>postorder[y]) break;
}
for(int j=i+1;j<y;j++)
{
if(postorder[j]<postorder[y]) return 0;
}
return f(postorder,x,i-1) && f(postorder,i,y-1);
}
bool verifyPostorder(vector<int>& postorder) {
return f(postorder,0,postorder.size()-1);
}
};