leetcode —— 654. 最大二叉树
给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下:
- 二叉树的根是数组中的最大元素。
- 左子树是通过数组中最大值左边部分构造出的最大二叉树。
- 右子树是通过数组中最大值右边部分构造出的最大二叉树。
通过给定的数组构建最大二叉树,并且输出这个树的根节点。
示例 :
解题思路:通过递归和二分查找建立二叉树。其C++代码如下:
class Solution {public:TreeNode* constructMaximumBinaryTree(vector<int>& nums) {return function(nums, 0 , nums.size());}TreeNode* function(vector<int>& nums, int left, int right) // 递归函数{if(left>=right)return NULL;int max_num = nums[left];int mid = left;for(int i=left;i<right;++i){if(nums[i]>max_num){max_num = nums[i];mid = i;}}auto tree =new TreeNode(max_num);tree->left = function(nums, left, mid);tree->right = function(nums, mid+1, right);return tree;}
};
leetcode —— 654. 最大二叉树相关推荐
- LeetCode 654. 最大二叉树(递归)
文章目录 1. 题目 2. 解题 1. 题目 给定一个不含重复元素的整数数组.一个以此数组构建的最大二叉树定义如下: 二叉树的根是数组中的最大元素. 左子树是通过数组中最大值左边部分构造出的最大二叉树 ...
- LeetCode 654 最大二叉树
题目链接:力扣s 思路: 递归 递归函数声明: TreeNode* constructMaximumBinaryTree(vector<int>& nums) 递归出口: (1 ...
- 自我总结:Leetcode 654, 105, 106, 889
终于算是熬过期末以后想起来了学学习了哈哈哈哈. 今天看看二叉树的构造,以下内容为自我学习总结,主要目的为学习笔记,兼职传播小想法.内容为学习labuladong的学习笔记.以下为链接,感谢大佬的学习讲 ...
- LeetCode实战:二叉树的最近公共祖先
背景 为什么你要加入一个技术团队? 如何加入 LSGO 软件技术团队? 我是如何组织"算法刻意练习活动"的? 为什么要求团队的学生们写技术Blog 题目英文 Given a bin ...
- LeetCode实战:二叉树中的最大路径和
背景 为什么你要加入一个技术团队? 如何加入 LSGO 软件技术团队? 我是如何组织"算法刻意练习活动"的? 为什么要求团队的学生们写技术Blog 题目英文 Given a non ...
- leetcode 617. 合并二叉树 思考分析
题目 给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠. 你需要将他们合并为一个新的二叉树.合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否 ...
- 【Leetcode | 02】二叉树、线性表目录
二叉树 序号 题号 1 94. 二叉树的中序遍历 2 95. 不同的二叉搜索树 II 3 96. 不同的二叉搜索树 4 98. 验证二叉搜索树 5 100. 相同的树 6 101. 对称二叉树 7 1 ...
- LeetCode Python实现 二叉树简单部分
LeetCode Python实现 二叉树简单部分 ''' 1 二叉树的最大深度 给定一个二叉树,找出其最大深度.二叉树的深度为根节点到最远叶子节点的最长路径上的节点数.说明: 叶子节点是指没有子节点 ...
- 二叉树层次遍历c语言_每日一道 LeetCode (23):二叉树的层次遍历 II
❝ 每天 3 分钟,走上算法的逆袭之路. ❞ 前文合集 每日一道 LeetCode 前文合集 代码仓库 GitHub:https://github.com/meteor1993/LeetCode Gi ...
最新文章
- “学了半年后,我要揭开Python 3宗罪!”
- 杂:(4)NE555
- 面对来势凶猛的社区电商 小商店的路在哪里?
- 数据库的文本处理函数
- unity开发罗技G29方向盘(制作操作汽车)
- matlab用本原多项式生成本的m序列,本原多项式产生的m序列
- Target DLL has been cancelled
- android12.0(S) 从SD卡导入vCard文件到通讯录 号码带“-“ 如何把横线去除
- js+css制作导航栏下划线跟随动画,App+H5点击效果
- 最新100个微信小程序
- Windows7下pip安装包报错 Microsoft Visual C++ 9 0 is required Unabl
- 惠普打印机2132故障灯大全图解_绝对干货!二手打印机选购攻略!
- 如何批量将多个 PPT 文档中的图片提取出来
- 爬取沪江网考研词汇并按要求存为txt
- 生活,本是一场修行!
- Postgresql opm监控工具部署
- Android 百度鹰眼 SDK
- 解决 git@gitlab.com: Permission denied (publickey,gssapi-with-mic,password)
- java官网以及java官网下载地址
- mysql拼音函数_Mysql生成姓名拼音的函数