这个题似曾相识,之前剑指offer有一道题是判断该子树是否是树的一部分,有异曲同工之妙,看到这种题,上俩就应该想递归。
public class Solution {
public boolean VerifySquenceOfBST(int [] sequence) {
if(sequence.length == 0)
return false;
if(sequence.length == 1)
return true;
return judge(sequence, 0, sequence.length-1);
}
public boolean judge(int [] sequence, int start, int root){
if(start >= root)
return true;
int i = start;
while(i < root && sequence[i] < sequence[root])
i++;
for(int j=i; j<root; j++){
if(sequence[j]<sequence[root])
return false;
}
return (judge(sequence, start, i-1)) && (judge(sequence, i, root-1));
}
}