合并二叉树—leetcode617
给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。
你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。
示例 1:
输入:
Tree 1 Tree 2
1 2
/ \ / \
3 2 1 3
/ \ \
5 4 7
输出:
合并后的树:
3
/ \
4 5
/ \ \
5 4 7
注意: 合并必须从两个树的根节点开始。
方法:递归解法,以t1作为返回对象,如果t1/t2都不为null,相加给t1,如果t2不为null,t1为null返回t2,t1不为null的情况,t1不动
/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/
class Solution {
public:TreeNode* mergeTrees(TreeNode* t1, TreeNode* t2) {if(t1&&t2){t1->val += t2->val;t1->left = mergeTrees(t1->left, t2->left);t1->right = mergeTrees(t1->right, t2->right);}else if(t2){return t2;}return t1;}
};
合并二叉树—leetcode617相关推荐
- 《LeetCode力扣练习》第617题 合并二叉树 Java
<LeetCode力扣练习>第617题 合并二叉树 Java 一.资源 题目: 给你两棵二叉树: root1 和 root2 . 想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些 ...
- 牛客题霸 [合并二叉树] C++题解/答案
牛客题霸 [合并二叉树] C++题解/答案 题目描述 已知两颗二叉树,将它们合并成一颗二叉树.合并规则是:都存在的结点,就将结点值加起来,否则空的位置就由另一个树的结点来代替.例如: 两颗二叉树是: ...
- 【LeetCode】【HOT】617. 合并二叉树(递归)
[LeetCode][HOT]617. 合并二叉树 文章目录 [LeetCode][HOT]617. 合并二叉树 package hot;import java.util.ArrayDeque; im ...
- 算法训练营 day20 二叉树 最大二叉树 合并二叉树 二叉搜索树中的搜索 验证二叉树
算法训练营 day20 二叉树 最大二叉树 合并二叉树 二叉搜索树中的搜索 验证二叉树 最大二叉树 654. 最大二叉树 - 力扣(LeetCode) 给定一个不重复的整数数组 nums . 最大二叉 ...
- Leetcode.617 合并二叉树
题目链接 Leetcode.617 合并二叉树 easy 题目描述 给你两棵二叉树: root1和 root2. 想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会) ...
- LeetCode 617. 合并二叉树
617. 合并二叉树 大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博客地址为:亓官劼的博客,亓官劼的博客2. 难度 简单 题目 给定两 ...
- leetcode617. 合并二叉树
一:题目 二:上码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* Tre ...
- leetcode617. 合并二叉树(dfs)
给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠.你需要将他们合并为一个新的二叉树.合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 ...
- 小米面试题:合并二叉树
题目描述: 给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠. 你需要将他们合并为一个新的二叉树.合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新 ...
最新文章
- 在Ubuntu上安装Snort入侵检测系统。
- Opengl-基本章节的学习成果
- Windows安装Python3
- 计算机系统行业竞争水平,中国计算机等23行业国际竞争力超世界平均水平
- jQuery复选框多选问题
- python实现五大基本算法_算法基础:五大排序算法Python实战教程
- git提取和拉取区别_每天一Git之起步 - 关于版本控制
- C++中去掉string字符串中的\r\n等
- 代码中大量的if/else,你有什么优化方案?
- linux程序流量平滑,Linux下按程序查实时流量 network traffic(示例代码)
- Activity与Fragment的生命周期
- 联系人排序java代码_Android仿微信联系人按字母排序
- 苹果手机长截屏_iPhone终于自带长截屏了?苹果手机这些截图方式,你用过几种?...
- ARTS-26(leetcode-119. 杨辉三角 II,AVOD最详细过程,Git用法,DMA原理,海天味业的企业估值(1))
- winpe加载raid_winpe集成raid驱动~
- 1元云购网站建设,一元云购网站制作,夺宝网站定制公司,一元云购源码开发
- 全球与中国高炉系统(钢铁厂)市场深度研究分析报告
- 二舅治好我的精神内耗,也让我火出了B站
- 通证大局观(二):通证权益解析
- MYSQL/ORACLE/SQL SERVER的默认端口号