给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。示例 1:输入: Tree 1                     Tree 2                  1                         2                             / \                       / \                            3   2                     1   3                        /                           \   \                      5                             4   7
输出:
合并后的树:3/ \4   5/ \   \ 5   4   7
注意: 合并必须从两个树的根节点开始。

代码

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode(int x) { val = x; }* }*/
class Solution {public TreeNode mergeTrees(TreeNode t1, TreeNode t2) {return getMergeTrees(t1,t2);}public TreeNode getMergeTrees(TreeNode t1, TreeNode t2) {//四种情况合并if(t1==null&&t2==null) return null;//两个都为空if(t1!=null&&t2!=null)//都不为空{t1.val+=t2.val;t1.left=getMergeTrees(t1.left,t2.left);t1.right=getMergeTrees(t1.right,t2.right);}else if(t1==null) {//t1为空,t2不空return t2;}return t1;//t2为空,t1不空}
}

leetcode617. 合并二叉树(dfs)相关推荐

  1. leetcode617. 合并二叉树

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

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

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

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

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

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

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

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

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

  6. Leetcode.617 合并二叉树

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

  7. LeetCode 617. 合并二叉树

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

  8. 合并二叉树—leetcode617

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

  9. 【LeetCode笔记】617. 合并二叉树(Java、DFS、二叉树)

    文章目录 题目描述 思路 & 代码 更新版 题目描述 貌似是面试高频题,显而易见的递归. 思路 & 代码 合并两棵树,先不考虑特殊情况,可以理解成:根结点合并,然后各自的左右子树继续进 ...

最新文章

  1. io vivado 怎么查看ps_ZYNQ 7020学习笔记之PL侧普通信号中断PS的实验
  2. cookie自动登录
  3. discuz!x3 门户友情链接模块的横排显示
  4. 【机器视觉】 dev_map_par算子
  5. Linux文件系统和文本编辑器
  6. STL中算法锦集(二)
  7. 看反病毒专家对EICAR检测代码的专业解读
  8. .NET Core开发的iNeuOS工业互联网平台,发布 iNeuDA 数据分析展示组件,快捷开发图形报表和数据大屏...
  9. flask_script扩展包的作用
  10. A*算法(一)算法导言
  11. 【BZOJ2818】Gcd,数论练习之欧拉筛
  12. 让计算机启动更快的十五招
  13. 优秀课程案例:使用Scratch制作坦克大战经典版!
  14. 用html制作QQ彩贝
  15. micropython nodemcu 获取天气预报_NodeMCU获取并解析心知天气信息
  16. 【解决方案】智慧体育场馆大场景安防视频监控,可持续性保障大型场馆安全运行
  17. cornell grasp data 康奈尔大学抓取数据集 百度云
  18. iOS drawRect 和 awakeFromNib
  19. STM32实例-蜂鸣器实验
  20. 图像的二值化和灰度化

热门文章

  1. 【数字逻辑】第四章 组合逻辑电路:端口设计 端口拓展的方法
  2. 函数dup和dup2
  3. db2 c语言游标名称可以是变量,mysql c语言 游标能取多行吗
  4. mysql创建存储时覆盖_总结到位的MySQL 的覆盖索引与回表
  5. T-SQL语句学习(三)
  6. 右键添加git-bash
  7. linux 问题一 apt-get install 被 lock
  8. [deviceone开发]-do_Album的简单示例
  9. 利用Kinect将投影变得可直接用手操控
  10. Android API中被忽略的几个函数接口