题目
输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
思路
这个是一个二叉搜索树,所以他的左子树小于根节点,右子树大于根节点。根节点的值就是后序遍历的最后一个值了。
代码
class Solution
{
public bool VerifySquenceOfBST(int[] sequence)
{
// write code here
if(sequence.Length==0)
return false;
int k=sequence[sequence.Length-1];
int i;
for(i=0;i<sequence.Length-1;i++)
{
if(sequence[i]>k)
break;
}
for(;i<sequence.Length-1;i++)
{
if(sequence[i]<k)
return false;
}
return true;
}
}