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

你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 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相关推荐

  1. 《LeetCode力扣练习》第617题 合并二叉树 Java

    <LeetCode力扣练习>第617题 合并二叉树 Java 一.资源 题目: 给你两棵二叉树: root1 和 root2 . 想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些 ...

  2. 牛客题霸 [合并二叉树] C++题解/答案

    牛客题霸 [合并二叉树] C++题解/答案 题目描述 已知两颗二叉树,将它们合并成一颗二叉树.合并规则是:都存在的结点,就将结点值加起来,否则空的位置就由另一个树的结点来代替.例如: 两颗二叉树是: ...

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

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

  4. 算法训练营 day20 二叉树 最大二叉树 合并二叉树 二叉搜索树中的搜索 验证二叉树

    算法训练营 day20 二叉树 最大二叉树 合并二叉树 二叉搜索树中的搜索 验证二叉树 最大二叉树 654. 最大二叉树 - 力扣(LeetCode) 给定一个不重复的整数数组 nums . 最大二叉 ...

  5. Leetcode.617 合并二叉树

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

  6. LeetCode 617. 合并二叉树

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

  7. leetcode617. 合并二叉树

    一:题目 二:上码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* Tre ...

  8. leetcode617. 合并二叉树(dfs)

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

  9. 小米面试题:合并二叉树

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

最新文章

  1. 在Ubuntu上安装Snort入侵检测系统。
  2. Opengl-基本章节的学习成果
  3. Windows安装Python3
  4. 计算机系统行业竞争水平,中国计算机等23行业国际竞争力超世界平均水平
  5. jQuery复选框多选问题
  6. python实现五大基本算法_算法基础:五大排序算法Python实战教程
  7. git提取和拉取区别_每天一Git之起步 - 关于版本控制
  8. C++中去掉string字符串中的\r\n等
  9. 代码中大量的if/else,你有什么优化方案?
  10. linux程序流量平滑,Linux下按程序查实时流量 network traffic(示例代码)
  11. Activity与Fragment的生命周期
  12. 联系人排序java代码_Android仿微信联系人按字母排序
  13. 苹果手机长截屏_iPhone终于自带长截屏了?苹果手机这些截图方式,你用过几种?...
  14. ARTS-26(leetcode-119. 杨辉三角 II,AVOD最详细过程,Git用法,DMA原理,海天味业的企业估值(1))
  15. winpe加载raid_winpe集成raid驱动~
  16. 1元云购网站建设,一元云购网站制作,夺宝网站定制公司,一元云购源码开发
  17. 全球与中国高炉系统(钢铁厂)市场深度研究分析报告
  18. 二舅治好我的精神内耗,也让我火出了B站
  19. 通证大局观(二):通证权益解析
  20. MYSQL/ORACLE/SQL SERVER的默认端口号

热门文章

  1. 如何给页面加上loding_怎么做404页面?
  2. 常用UI模板,loading框,提醒框,弹框确认框
  3. 跳转到页面后加载一个请求的方法
  4. python 皮尔森相关系数
  5. 《程序猿的呐喊》读书笔记(下)
  6. 实现Evernote的OAuth授权
  7. hoj1003 Mixing Milk (哈工大)
  8. Nslookup 命令使用浅析
  9. 制作WEB在线编辑器-插入HTML标签
  10. 要想提高工作效率,请拒绝做这7种事