剑指offer{面试题24:二叉搜索树的后序遍历序列}

这个题似曾相识,之前剑指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));
    }
}

猜你喜欢

转载自blog.csdn.net/wang_ze_ma/article/details/83044822