您的位置:首页 > Web前端

剑指offer--二叉搜索树的后序遍历序列

2017-11-05 20:12 323 查看
题目描述

输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。

public class Solution {
public boolean VerifySquenceOfBST(int [] sequence) {
return Verification(0,sequence.length-1,sequence);
}
private boolean Verification(int start,int end,int[] array){
if(array.length == 0)
return false;
if( start >= end ) return true;
int i;
for(i = start; i < end; i++){
if(array[i] > array[end])
break;
}

for (;i < end; i++){
if(array[i] < array[end])
return false;
}
return Verification(start,end-1,array);
}
}


对于二叉排序树的后序遍历,去掉最后一个元素之后,前面的数字还可以分为左右两段。前面一段比最后一位小,后面一段比最后一段大。

代码写得好像有问题…..
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: