博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode]654. Maximum Binary Tree最大堆二叉树
阅读量:4565 次
发布时间:2019-06-08

本文共 750 字,大约阅读时间需要 2 分钟。

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

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;    }

 

转载于:https://www.cnblogs.com/stAr-1/p/8410403.html

你可能感兴趣的文章
iOS中的内存管理1
查看>>
23种设计模式全解析
查看>>
Learning Python 008 正则表达式-003 sub()方法
查看>>
要检测两个C文件的代码的抄袭情况
查看>>
iOS开发之应用内支付IAP全部流程
查看>>
【web技术】html特效代码(一)
查看>>
SWFObject: 基于Javascript的Flash媒体版本检测与嵌入模块
查看>>
高可用集群搭建
查看>>
Lua学习笔记
查看>>
Redis监控工具,命令和调优
查看>>
zabbix-mysql迁移分离
查看>>
jQuery调用WCF 说明
查看>>
算法第5章作业
查看>>
7.9 练习
查看>>
基于ArcGIS JS API的在线专题地图实现
查看>>
learnByWork
查看>>
Unity3D热更新之LuaFramework篇[04]--自定义UI监听方法
查看>>
lua 函数
查看>>
Git的基本命令
查看>>
四平方和
查看>>