美文网首页
剑指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