• 24:二叉搜索树的后序遍历序列


    import java.util.Arrays;
    
    /**
     * 面试题24:二叉搜索树的后序遍历序列
     * 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。
     * 如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
     */
    public class _24_binary_tree_postorder {
        public static void main(String[] args){
            int[] a={5,7,6,9,11,10,8};
            int[] a2={7,4,6,5};
            int[] a3={4,6,7,6};
            Solution24 solution24 = new Solution24();
            System.out.println(solution24.VerifySquenceOfBST(a));
        }
    }
    class Solution24 {
        public boolean VerifySquenceOfBST(int[] sequence) {
            int len=sequence.length;
            return getSequence(sequence,len);
        }
        public boolean getSequence(int [] sequence,int len){
            if(sequence==null||len<=0){
                return false;
            }
            int root=sequence[len-1];
            //在二叉搜索树中左子树的节点小于根节点
            int left=0;
            int i=0;
            for(i=left;i<len-1;i++){
                if(sequence[i]>root){
                    break;
                }
            }
            left=i;
            //在二叉搜索树中右子树的节点大于根节点
            int right=left;
            for(int j=right;j<len-1;j++){
                if(sequence[j]<root){
                    return false;
                }
            }
            //判断左子树是不是二叉搜索树
            boolean leftTree=true;
            if(left>0){
                leftTree=getSequence(Arrays.copyOfRange(sequence,0,left),left);
            }
            //判断左子树是不是二叉搜索树
            boolean rightTree=true;
            if(left<len-1){
                rightTree=getSequence(Arrays.copyOfRange(sequence,left,len-1),len-left-1);
            }
            return leftTree&&rightTree;
        }
    }
    
  • 相关阅读:
    硬件的效率与一致性
    深入理解SPI机制-服务发现机制
    spring 之7种重要设计模式
    list里放map list 放list
    jvm 三种编译
    几种不同格式的json解析
    Java知识点梳理——集合
    判断2个list中是否有相同的数据(相交)Collections.disjoint
    键相同,比较两个map中的值是否相同
    Map类型数据导出Excel--poi
  • 原文地址:https://www.cnblogs.com/andy-zhou/p/6549599.html
Copyright © 2020-2023  润新知