- 后序遍历 根节点一定是在最后一位
- 找到第一个 比根节点大的位置m
- 那么 左子树区域 就是 i->m-1 右子树 区域 就是 m->j-1
public class Solution {
public boolean VerifySquenceOfBST(int [] sequence) {
if(sequence == null ||sequence.length==0 ){
return false;
}
int n = sequence.length;
return recur(sequence,0,n-1);
}
public boolean recur(int[] nums,int i,int j){
if(i>=j){
return true;
}
int p = i;
while(nums[p]< nums[j]) p++;
int m = p;
while(nums[p]>nums[j]) p++;
return p==j &&(recur(nums,i,m-1))&&recur(nums,m,j-1);
}
}