您的位置:首页 > Web前端

剑指offer--二叉搜索树的后序遍历序列

2017-08-07 16:39 399 查看

题目描述

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

[java] view
plain copy

public class Solution {  

    public boolean VerifySquenceOfBST(int [] sequence) {  

        if(sequence.length==0) return false;  

        return checkBST(sequence, 0, sequence.length-1);  

    }  

      

    public boolean checkBST(int[] sequence,int start,int end){        

        if(start>=end) return true;  

        int flag = sequence[end];  

        int i=start;  

        for(;i<=end;i++){  

            if(sequence[i]>=flag) break;           

        }  

        int j=end-1;  

        for(;j>=start;j--){  

            if(sequence[j]<=flag) break;           

        }         

        if(i-j!=1) return false;  

        return checkBST(sequence, start, i-1)  

                &&checkBST(sequence, j+1, end-1);     

    }  

}  

原文链接  http://blog.csdn.net/crazy__chen/article/details/44999059
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: