题目描述
输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同
function VerifySquenceOfBST(sequence) {
var len = sequence.length;
if(len == 0) {
return false;
}
return judge(sequence,0,len - 1);
}
function judge(seq,start,end) {
if(start >= end) {
return true;
}
var i = start;
while(i < end && seq[i] < seq[end]) {
i++;
}
for(var j = i; j < end; j++){
if(seq[j] < seq[end]) {
return false;
}
}
return judge(seq,start,i-1) && judge(seq,i,end-1)
}