public static boolean verifySequenceOfBST(int[] seq){
if(seq==null || seq.length==0)
return false;
return verifySequenceOfBST(seq,0,seq.length-1);
}
private static boolean verifySequenceOfBST(int[] seq, int start, int end){
if(start>end)
return true;
int root = seq[end];
int i=start;
while(i<=end-1){
if(seq[i]>root)
break;
i++;
}
int j=i;
while(j<=end-1){
if(seq[j]<root)
return false;
j++;
}
boolean left = true;
left = verifySequenceOfBST(seq,start,i-1);
boolean right = true;
right = verifySequenceOfBST(seq,i,end-1);
return left&right;
}