面试题33. 二叉搜索树的后序遍历序列

题目

输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 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);
}

你可能感兴趣的:(面试题33. 二叉搜索树的后序遍历序列)