给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。

你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。

示例 1:

输入: Tree 1                     Tree 2                  1                         2                             / \                       / \                            3   2                     1   3                        /                           \   \                      5                             4   7
输出:
合并后的树:3/ \4   5/ \   \ 5   4   7

注意: 合并必须从两个树的根节点开始。

解法一:

class Solution {
public:TreeNode* mergeTrees(TreeNode* t1, TreeNode* t2) {dfs(t1, t2);   return t1;}void dfs(TreeNode *&t1, TreeNode *&t2){if(!t1 && !t2) return;if(t1 && !t2) return;if(!t1 && t2){t1 = t2;return ;}if(t1 && t2) t1->val += t2->val;dfs(t1->left, t2->left);dfs(t1->right, t2->right);}
};

解法二:

class Solution {
public:TreeNode* mergeTrees(TreeNode* t1, TreeNode* t2) {if (!t1) return t2;if (!t2) return t1;TreeNode *t = new TreeNode(t1->val + t2->val);t->left = mergeTrees(t1->left, t2->left);t->right = mergeTrees(t1->right, t2->right);return t;}
};

617. 合并二叉树相关推荐

  1. 【LeetCode】【HOT】617. 合并二叉树(递归)

    [LeetCode][HOT]617. 合并二叉树 文章目录 [LeetCode][HOT]617. 合并二叉树 package hot;import java.util.ArrayDeque; im ...

  2. Leetcode.617 合并二叉树

    题目链接 Leetcode.617 合并二叉树 easy 题目描述 给你两棵二叉树: root1和 root2. 想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会) ...

  3. LeetCode 617. 合并二叉树

    617. 合并二叉树   大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博客地址为:亓官劼的博客,亓官劼的博客2. 难度 简单 题目 给定两 ...

  4. 【LeetCode】617. 合并二叉树

    一.题目描述 给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠. 你需要将他们合并为一个新的二叉树.合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的 ...

  5. [leetcode]617.合并二叉树

    给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠. 你需要将他们合并为一个新的二叉树.合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 ...

  6. LeetCode 617合并二叉树-简单

    给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠. 你需要将他们合并为一个新的二叉树.合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 ...

  7. leetcode 617. 合并二叉树 思考分析

    题目 给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠. 你需要将他们合并为一个新的二叉树.合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否 ...

  8. leetcode - 617. 合并二叉树

    给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠. 你需要将他们合并为一个新的二叉树.合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 ...

  9. leetcode力扣617. 合并二叉树

    给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠. 你需要将他们合并为一个新的二叉树.合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 ...

最新文章

  1. CENTOS php 7.0 +nginx 环境下 安装yaf框架
  2. python中嵌套循环的运行原理_python中while嵌套循环的执行流程问题?
  3. kubernetes的安装
  4. tableau实战系列(三十九)-教你如何优雅的做图表展示-南丁格尔玫瑰图
  5. Java并发编程笔记之LinkedBlockingQueue源码探究
  6. 信用社和民营银行存款利息都高,有5万块钱存哪个更安全?
  7. 网络交换机的分类介绍
  8. 学习关于display :flex 布局问题!
  9. 史上最全总结!爬虫常见加密解密算法
  10. python100例详解-Python基础之列表常见操作经典实例详解
  11. 六石编程学:方便调试输出的标准C代码
  12. hbase 查询某列_hbase shell使用STARTROW、ENDROW、FILTER查出指定的列
  13. 弹性波波长计算公式_声波是一种弹性波(纵向应力波).ppt
  14. linux磁盘存储和文件管理进阶
  15. bzoj 2563阿狸和桃子的游戏
  16. excel合并单元格和左对齐
  17. 【Unity3D小技巧】Unity3D中Animation和Animator动画的播放、暂停、倒放控制
  18. 0099 MySQL02
  19. 芯片模型算力指标TOPS FLOPS MAC MACC MADD关系
  20. 【毕业季·进击的技术er】一个读研学生的唠唠嗑

热门文章

  1. 垂直居中-父元素高度确定的多行文本(方法二)
  2. 浅谈块级元素和内联元素的嵌套规则
  3. 广联达2018模板算量步骤_广联达gtj2021实操案例,新增6大板块,快速提高算量效率...
  4. 物资管理系统c语言课程设计,C语言实现仓库物资管理系统
  5. php进度条插件,分享8款优秀的 jQuery 加载动画和进度条插件_jquery
  6. 【视觉项目】【day2】8.21号实验记录(手机固定高度15cm拍摄+直方图均衡化+模板匹配,模板12个,测试28个,效果十分差)
  7. 合页损失,铰链损失_多点铰链损失功能 使用Python的线性代数
  8. 查看照片的指定位置的像素点值,并在照片中绘制一条指定像素颜色的线段
  9. 杭电2012-素数判定(C)
  10. python安全攻防---信息收集---whois查询