算法入门-合并二叉树
继续刷题的一天,今天写的题是关于深/广度优先搜索的,下面是题目和链接:
题目:给你两棵二叉树: 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;}
};
算法入门-合并二叉树相关推荐
- ⭐算法入门⭐《二叉树》简单07 —— LeetCode 993. 二叉树的堂兄弟节点
文章目录 一.题目 1.题目描述 2.基础框架 3.原题链接 二.解题报告 1.思路分析 2.时间复杂度 3.代码详解 三.本题小知识 四.加群须知 一.题目 1.题目描述 在二叉树中,根节点位于 ...
- 算法入门篇六 二叉树
牛客网 算法入门篇 左程云老师 个人复习,如果侵全,设为私密 二叉树遍历(递归) 先序遍历(中,左,右) 中序遍历(左,中,右) 后序遍历(左,右,中) 如上图所示结构,二叉树的遍历本质上都是递归序, ...
- 算法训练营 day20 二叉树 最大二叉树 合并二叉树 二叉搜索树中的搜索 验证二叉树
算法训练营 day20 二叉树 最大二叉树 合并二叉树 二叉搜索树中的搜索 验证二叉树 最大二叉树 654. 最大二叉树 - 力扣(LeetCode) 给定一个不重复的整数数组 nums . 最大二叉 ...
- 语法入门*算法入门题单
作者:王清楚 链接:https://ac.nowcoder.com/discuss/817596?type=101&order=0&pos=1&page=4&chann ...
- 【新手上路】语法入门算法入门题单
作者:王清楚 链接:[新手上路]语法入门&算法入门题单_ACM竞赛_ACM/CSP/ICPC/CCPC/比赛经验/题解/资讯_牛客竞赛OJ_牛客网 来源:牛客网 介绍:本题单分为语法入门和算法 ...
- LeetCode《算法入门》刷题笔记(31 题全)
LeetCode<算法入门>刷题笔记(31 题全) 二分查找 1. 二分查找 _解法1:二分搜索(迭代) 解法2:二分搜索(递归) 2. 第一个错误的版本 _解法1:二分 3. 搜索插入位 ...
- 数据结构与算法入门(follow 左神)
文章目录 一. 认识时间复杂度和简单排序算法 1.以选择排序为例 2.异或运算 3.插入排序 4.二分查找 5.对数器 二. 认识O(NlogN)的排序 1.递归==栈的后序遍历 2.归并排序 3.快 ...
- 数据结构与算法入门---数据结构类型
数据结构与算法入门---数据结构类型 数据的逻辑结构 数据的逻辑结构指数据元素之间的逻辑哦关系(和实现无关) 分类一:线性结构和非线性结构 线性结构:有且只有一个开始结点和一个终端节点,并且所有节点都 ...
- 算法入门篇八 贪心算法
牛客网 左程云老师的算法入门课 贪心算法 贪心算法的解题步骤 例子 题目要求 解题策略 按照结束时间早的会议先安排,比如先安排[2,4],当4结束了,所有开始时间小于4的全部淘汰,[1,7].[3 ...
最新文章
- phpstorm如何同时打开两个文件夹_2分钟学会文件夹共享,化身办公室电脑大神
- pro git读书笔记
- CentOS查看进程的线程数方法
- 如何提取幻灯片表格_如何查看对Google文档,表格或幻灯片文件的最新更改
- python快速排序算法循环_算法:快速排序的Python实现
- Python 入门级1
- docker搭建Redis的主从集群
- HDU1272 小希的迷宫【并查集】
- Java------String DAte 转化
- Installation openQRM
- Android Launcher——ui框架,android混合开发专利
- 按键精灵 手机 oracle,按键精灵Android版:软件使用
- 坚果pro2刷MIUI10
- 《关键对话》:高效沟通与数据分析的意义不言而喻
- 蛇形填数【附重点步骤详细注释】
- 软件扫描出rsh漏洞,但是并无安装rsh服务,原因是为何?
- Spark的坑--Spark新手必看--Python Spark必读,耗费了我近三周的时间
- ubuntu 18.04网络图标消失不见解决方法
- 无线通信技术(习题课)
- 微信在Ios上h5不能分享
热门文章
- Python中的解包
- php 文件图片上传
- 使用cordova + vue搭建混合app框架
- 【TS TSP】基于matlab禁忌搜索求解旅行商问题【含Matlab源码 447期】
- java list逆序_Java的数组和list升序,降序,逆序函数Collections.sort和Arrays.sort的使用...
- mysql 1265警告
- HTML5与视频传输
- WordArt与everything联用生成含中文的词云
- 爱站权重批量查询 查询爱站的seo权重
- 微信公众号获取openid(java后端+html实现)