继续刷题的一天,今天写的题是关于深/广度优先搜索的,下面是题目和链接:

题目:给你两棵二叉树: root1 和 root2 。
想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;否则,不为 null 的节点将直接作为新二叉树的节点。
返回合并后的二叉树。
注意: 合并过程必须从两个树的根节点开始。

示例:
输入:root1 = [1,3,2,5], root2 = [2,1,3,null,4,null,7]
输出:[3,4,5,5,4,null,7]
来源:力扣(LeetCode)
链接: https://leetcode.cn/problems/merge-two-binary-trees

下面是解题思路:先序遍历树1,如果树1或树2某个结点为空,那该结点合并后就是树2或树1对应结点的值(注意对应关系),遇到树1不为空的结点将其值更新为树1和树2这一节点的值之和,下面是具体代码实现:

class Solution {
public:TreeNode* mergeTrees(TreeNode* root1, TreeNode* root2) {if(root1==NULL){return root2;}if(root2==NULL){return root1;}//先合并根结点的值;root1->val = root1->val + root2->val;//递归合并左右子树;root1->left = mergeTrees(root1->left,root2->left);root1->right = mergeTrees(root1->right,root2->right);return root1;}
};

算法入门-合并二叉树相关推荐

  1. ⭐算法入门⭐《二叉树》简单07 —— LeetCode 993. 二叉树的堂兄弟节点

    文章目录 一.题目 1.题目描述 2.基础框架 3.原题链接 二.解题报告 1.思路分析 2.时间复杂度 3.代码详解 三.本题小知识 四.加群须知 一.题目 1.题目描述   在二叉树中,根节点位于 ...

  2. 算法入门篇六 二叉树

    牛客网 算法入门篇 左程云老师 个人复习,如果侵全,设为私密 二叉树遍历(递归) 先序遍历(中,左,右) 中序遍历(左,中,右) 后序遍历(左,右,中) 如上图所示结构,二叉树的遍历本质上都是递归序, ...

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

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

  4. 语法入门*算法入门题单

    作者:王清楚 链接:https://ac.nowcoder.com/discuss/817596?type=101&order=0&pos=1&page=4&chann ...

  5. 【新手上路】语法入门算法入门题单

    作者:王清楚 链接:[新手上路]语法入门&算法入门题单_ACM竞赛_ACM/CSP/ICPC/CCPC/比赛经验/题解/资讯_牛客竞赛OJ_牛客网 来源:牛客网 介绍:本题单分为语法入门和算法 ...

  6. LeetCode《算法入门》刷题笔记(31 题全)

    LeetCode<算法入门>刷题笔记(31 题全) 二分查找 1. 二分查找 _解法1:二分搜索(迭代) 解法2:二分搜索(递归) 2. 第一个错误的版本 _解法1:二分 3. 搜索插入位 ...

  7. 数据结构与算法入门(follow 左神)

    文章目录 一. 认识时间复杂度和简单排序算法 1.以选择排序为例 2.异或运算 3.插入排序 4.二分查找 5.对数器 二. 认识O(NlogN)的排序 1.递归==栈的后序遍历 2.归并排序 3.快 ...

  8. 数据结构与算法入门---数据结构类型

    数据结构与算法入门---数据结构类型 数据的逻辑结构 数据的逻辑结构指数据元素之间的逻辑哦关系(和实现无关) 分类一:线性结构和非线性结构 线性结构:有且只有一个开始结点和一个终端节点,并且所有节点都 ...

  9. 算法入门篇八 贪心算法

    牛客网 左程云老师的算法入门课 贪心算法 贪心算法的解题步骤  例子 题目要求  解题策略 按照结束时间早的会议先安排,比如先安排[2,4],当4结束了,所有开始时间小于4的全部淘汰,[1,7].[3 ...

最新文章

  1. phpstorm如何同时打开两个文件夹_2分钟学会文件夹共享,化身办公室电脑大神
  2. pro git读书笔记
  3. CentOS查看进程的线程数方法
  4. 如何提取幻灯片表格_如何查看对Google文档,表格或幻灯片文件的最新更改
  5. python快速排序算法循环_算法:快速排序的Python实现
  6. Python 入门级1
  7. docker搭建Redis的主从集群
  8. HDU1272 小希的迷宫【并查集】
  9. Java------String DAte 转化
  10. Installation openQRM
  11. Android Launcher——ui框架,android混合开发专利
  12. 按键精灵 手机 oracle,按键精灵Android版:软件使用
  13. 坚果pro2刷MIUI10
  14. 《关键对话》:高效沟通与数据分析的意义不言而喻
  15. 蛇形填数【附重点步骤详细注释】
  16. 软件扫描出rsh漏洞,但是并无安装rsh服务,原因是为何?
  17. Spark的坑--Spark新手必看--Python Spark必读,耗费了我近三周的时间
  18. ubuntu 18.04网络图标消失不见解决方法
  19. 无线通信技术(习题课)
  20. 微信在Ios上h5不能分享

热门文章

  1. Python中的解包
  2. php 文件图片上传
  3. 使用cordova + vue搭建混合app框架
  4. 【TS TSP】基于matlab禁忌搜索求解旅行商问题【含Matlab源码 447期】
  5. java list逆序_Java的数组和list升序,降序,逆序函数Collections.sort和Arrays.sort的使用...
  6. mysql 1265警告
  7. HTML5与视频传输
  8. WordArt与everything联用生成含中文的词云
  9. 爱站权重批量查询 查询爱站的seo权重
  10. 微信公众号获取openid(java后端+html实现)