题目
输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。from LeetCode。
bool PosTraversal(vector<int> &postorder,int l,int r)
{
if(l>=r)
{
return true;
}
int i = l;
while(postorder[i]<postorder[r])
{
i++;
}
int j = i;
while(j<r)
{
if(postorder[j]<postorder[r])
{
return false;
}
j++;
}
return PosTraversal(postorder,l,i-1)&&PosTraversal(postorder,i,j-1);
}