public class Solution {
public boolean VerifySquenceOfBST(int [] sequence) {
if(sequence == null || sequence.length == 0){
return false;
}
if(sequence.length == 1){
return true;
}
return method(sequence, 0, sequence.length - 1);
}
public boolean method(int[] a, int begin, int end){
if(begin == end){
return true;
}
int root = a[end];
int i = begin;
while(i < end){
if(a[i] > root){
break;
}
i++;
}
int index = i;
while(i < end){
if(a[i] < root){
return false;
}
i++;
}
if(index == begin || index == end){
return method(a, begin, end - 1);
}else{
return (method(a, begin, index - 1) && method(a, index, end -1));
}
}
}
算法:二叉搜索树的后序遍历序列——Java实现
最新推荐文章于 2022-01-02 09:37:43 发布