码迷,mamicode.com
首页 > 其他好文 > 详细

二叉搜索树的后序遍历序列

时间:2018-07-09 23:43:07      阅读:289      评论:0      收藏:0      [点我收藏+]

标签:span   false   return   返回   sequence   pre   class   int   假设   

题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字都互不相同。

public boolean VerifySequenceOfBST(int[] array){
        if(array == null || array.length <=0) return false;
        int N = array.length;
        return VerifySequenceOfBST(array,0,N-1);
        
    }
    public boolean VerifySequenceOfBST(int[] array,int left,int right){
        if(left>=right){
            return true;
        }
        int root = array[right];
        //i记录比root(根节点)大的第一个元素的索引
        int i = left;
        for(;i<right-1;i++){
            if(array[i]>root) break;
        }
        for(int j=i;j<right-1;j++){
            if(array[i]<root) return false;
        }
        return VerifySequenceOfBST(array,left,i-1)&&VerifySequenceOfBST(array,i,right-1);
    }

 

二叉搜索树的后序遍历序列

标签:span   false   return   返回   sequence   pre   class   int   假设   

原文地址:https://www.cnblogs.com/yingpu/p/9286680.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!