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

[LeetCode]654. Maximum Binary Tree最大堆二叉树

时间:2018-02-03 19:59:18      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:class   maximum   turn   integer   const   最大值   就是   length   ons   

每次找到数组中的最大值,然后递归的构建左右树

public TreeNode constructMaximumBinaryTree(int[] nums) {
        if (nums.length==0) return null;
        return builder(nums,0,nums.length-1);
    }
    public TreeNode builder(int[] nums,int sta,int end)
    {
        /*
        思路就是每次找到最大值,然后分为两个子数组递归构建左右树
         */
        if (sta>end) return null;
        int max = Integer.MIN_VALUE;
        int index = -1;
        for (int i = sta; i <= end ; i++) {
            if (nums[i]>max)
            {
                max = nums[i];
                index = i;
            }
        }
        TreeNode root = new TreeNode(max);
        root.left = builder(nums,sta,index-1);
        root.right = builder(nums,index+1,end);
        return root;
    }

 

[LeetCode]654. Maximum Binary Tree最大堆二叉树

标签:class   maximum   turn   integer   const   最大值   就是   length   ons   

原文地址:https://www.cnblogs.com/stAr-1/p/8410403.html

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