输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
思路:
因为是二叉搜索树,所以末尾肯定是根节点,则找到分开左子树和右子树的索引,index。index左边构成的新数组中所有数肯定都小于根节点;index右边构成的新数组中所有数肯定都大于根节点。因此可以借助递归的思想。递归下去,只要不符合条件就返回false
public static boolean VerifySquenceOfBST(int [] sequence) {
if (sequence.length == 0) {
return false;
}
return judge(sequence);
}
public static boolean judge(int[] sequence) {
int length =