美文网首页
剑指offer面试题33:二叉搜索树的后序遍历序列

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

作者: 灰化肥发黑会挥发 | 来源:发表于2019-01-07 21:40 被阅读0次

题目:输入一个数组,判断该数组是不是某搜索二叉树的后序遍历结果。

  • 解析:该题思路为后序遍历最后一个元素为根元素,搜索二叉树的树根节点比左子树大,比右子树小,所以前N个数字比最后一个节点小,后面的数字比最后一个数字大,如果不符合改规则满足题目条件。
public class VerifySequence {
    public boolean VerifySequenceOfBST(int[] sequence,int length){
        if(sequence.length==0||length<=0) return false;
        int root = sequence[sequence.length-1];
        int i = 0;
        for(;i<length-1;i++){
            if(sequence[i]>root) break;
        }
        int j = i;
        for( ;j<length-1;j++){
            if(sequence[j]<root) return false;
        }
        boolean left = true;
        if(i>0) left = VerifySequenceOfBST(sequence,i);
        boolean right = true;
        if(j<length-1) right = VerifySequenceOfBST(sequence,j);
        return  left&&right;
    }
}

相关文章

网友评论

      本文标题:剑指offer面试题33:二叉搜索树的后序遍历序列

      本文链接:https://www.haomeiwen.com/subject/utnprqtx.html