617. 合并二叉树

Java实现 LeetCode 617 合并二叉树(遍历树) 617. 合并二叉树 给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。 你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。 示例 1: 输入: Tree 1 Tree 2 ... 阅读详情

描述

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

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

在这里插入图片描述

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

思路

将两棵树叠加到t1、t2中的一棵树中。若t1的左孩子为空,则直接让其左孩子等于t2的左孩子;若t1的右孩子为空,则让其右孩子等于t2的右孩子。

  1. 递归的出口:当t1、t2中有一个为空时则返回。
  2. 最终的返回值:最终要返回一棵已经调整好的树,即t1。
  3. 本层递归做什么:将t1和t2(非空)的val值叠加后赋值给t1。t1的左右孩子left和right接收已经调整好的子树。

解答

/**
 * 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 == nullptr) return t2;
        if (t2 == nullptr) return t1;
        t1->left = mergeTrees(t1->left, t2->left);
        t1->right = mergeTrees(t1->right, t2->right);
        t1->val += t2->val;
        return t1;
    }
};
Computer Networks 和 Computer & Security投稿经验 论文投稿 阅读详情

相关推荐

手把手教你用Origin拟合真应力-真应变曲线:从数据到加工硬化指数n的完整流程

本文详细解析了如何使用Origin软件拟合真应力-真应变曲线并计算加工硬化指数n的全流程。从数据预处理、曲线绘制到Hollomon方程拟合,逐步指导材料科学研究人员完成实验数据分析,帮助准确评估金属材料的力学性能与强化特性。

view3的博客 714

二叉树--合并两颗二叉树

1、题目:Given two binary trees and imagine that when you put one of them to cover the other, some nodes of the two trees are overlapped while the others are not.You need to merge them into a new binary t...

qq_31307013的博客 3207

在CoppeliaSim里实现一个最简单的强化学习

前言 上一篇文章中介绍了CoppeliaSim的一些基本知识和一个简单的用python去控制CoppeliaSim里面四旋翼无人机运动的一个例子。文章链接 :https://blog.csdn.net/qq_37051669/article/details/115324851 本文将继续介绍如何利用CoppeliaSim的物理环境去实现一个最简单的强化学习。 如何实现强化学习 强化学习(Reinforcementlearning)是机器学习中的一个领域,强调如何基于环境而行动,以取得最大化的预期利.

qq_37051669的博客 3764

合并两棵二叉树(7 lines)

合并两棵二叉树Merge Two Binary Trees Given two binary trees and imagine that when you put one of them to cover the other, some nodes of the two trees are overlapped while the others are not. You need to merge

冯了个杰的博客 931

Buck的振铃实验与分析

上上期我们提到了buck电路的开关的振铃波形,本质原因是LC的阻尼振荡。文章偏理论,那BUCK到底是怎么产生尖峰振荡呢? 要想把这个问题搞清楚,也很是不容易,所以文章有点长,请直接点赞转发加收藏。 问题 本期主要分析以下这两个问题: 1、死区时间是什么?这里有个小台阶是什么情况? 2、上下尖峰振荡是如何产生的?跟哪些因素有关? 理想的BUCK的SW波形 我们由浅入深,一步一步来,先看理想的开关SW波形—没有尖峰电压的波形。 为了能更好的看buck电路各个点的电压电流情况.

weixin_42005993的博客 3万+

一文讲透 SAP VDM 命名里的前缀与后缀:看懂 I_、C_、A_,把 CDS 视图栈搭得又稳又好用

SAP S/4HANA 的 CDS 视图命名规范解析 摘要:本文详细解析 SAP S/4HANA 中 CDS 视图的 VDM 命名规范。通过前缀(如 I_、C_、R_)区分视图层级,后缀标记附加角色,结合 @VDM.viewType 注解形成完整语义体系。I_作为稳定接口层,C_面向特定场景裁剪,R_限定应用域内复用,A_提供远程 API 接口。命名规范使团队能快速识别视图用途、依赖关系和扩展边界,确保模型长期可维护性。文章结合制造业物料主数据、Fiori 应用等实际案例,说明如何通过规范命名构建清晰的视图

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 220

leetcode:合并二叉树(Java递归法)

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

weixin_45479045的博客 325

26、机器学习模型的成员推断攻击与隐私保护

本文探讨了机器学习模型面临的成员推断攻击及其对隐私的潜在威胁。通过使用CIFAR-10数据集,详细介绍了如何利用影子模型和攻击模型推断特定数据点是否属于模型的训练集。实验表明,即使无法直接访问模型参数和原始数据,攻击者仍能以高于随机猜测的概率进行推断,从而构成隐私风险。此外,文章还分析了实验的关键技术点,并提出了多种隐私保护建议,包括数据脱敏、差分隐私、模型正则化等方法。

coffee的博客 123

Leetcode1367. 二叉树中的列(链)表 回溯递归 递归叠加

Leetcode链接: https://leetcode-cn.com/problems/linked-list-in-binary-tree/ 本题在进行递归的时候涉及到两层递归,不仅递归函数需要进行递归,主函数也需要递归…在初见的时候试图直接主函数调dfs然后dfs全部处理完毕输出,然后TLE和WA了好多次…(最后测试数据里有个超大的树里边只有NULL和1…) 正确思路:主函数对树的节点递...

Lewis的博客 240

【100%通过率】2023华为od机试C卷【围棋的气】Python 实现

围棋棋盘由纵横各19条线垂直相交组成,棋盘上一共19 x 19 = 361 个交点,对奔双方一方执白棋,一方执黑棋,落子时只能将棋子置于交点上。 “气”是围棋中很重要的一个概念,某个棋子有几口气,是指其上下左右方向四个相邻的交叉点中,有几个交叉点没有棋子,由此可知:

MISAYAONE的博客 1858

【路径规划】基于matlab蚁群算法机器人栅格地图最短路径规划【含Matlab源码 4590期】

基于matlab蚁群算法机器人栅格地图最短路径规划 完整代码,包运行;可提供运行操作视频!适合小白!

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 1276

合并两棵二叉树

给出两棵二叉树,当你用其中一棵覆盖另一棵时,两棵树的一些节点会发生重叠,而其他节点则不会重叠。 您需要将它们合并到一棵新的二叉树中。 合并的规则是如果两个节点重叠,则将节点值加起来作为合并节点的新值。 否则,非空的节点将用作新树的节点。 样例 样例1 输入: {1,3,2,5} {2,1,3,#,4,#,7} 输出: {3,4,5,5,4,#,7} 解释: 树 1 ...

weixin_41791402的博客 762

【机器学习与数据挖掘实战 | 医疗】案例18:基于Apriori算法的中医证型关联规则分析

本案例针对三阴乳腺癌患者,经问卷调查收集数据并筛选处理形成原数据,经清洗、特征选择与变换后,构建Apriori模型,基于业务理解与建模结果,分析患者症状与中医证型关联,并据症状给出建议 。

Morse_Chen的博客 1380

LeetCode 617 合并二叉树

LeetCode 617 合并二叉树 题目链接 给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。 你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。 示例 1: 输入: Tree 1 Tree 2 1 2

旺崽的博客 2538

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

LeetCode617.合并二叉树

LeetCode617.合并二叉树

Love Peace 1165

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

LeetCode 617.合并二叉树

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

2301_80211119的博客 1144

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

leetcode 617 合并二叉树

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

boyce的博客 621

LeetCode第617题:合并二叉树

LeetCode第617题:合并二叉树 问题描述 解题思路 略略略略略 C++代码 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) :...

朕蹲厕唱忐忑的博客 258

Leetcode617. 合并二叉树

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

会流泪de鱼的博客 261

617.合并二叉树

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

Dubhehug的博客 478

[LeetCode] 617.合并二叉树

LeetCode 617.合并二叉树 思路 递归 仍然采用递归的“三步法”: 1)确定递归函数的参数和返回值 传入参数为两个二叉树的根节点 返回值为合并之后二叉树的根节点 2)确定终止条件 当一个树的节点为空时,则返回另一个树的节点 3)确定单层递归逻辑 假设两棵树分别为tree1、tree2,通过重复利用tree1,将合并后的元素值重新赋给tree1。tree1的左子树是:合并 tree1左子树 tree2左子树之后的左子树。tree1的右子树:是 合并 tree1右子树 tree2右子树之

夜来疯的博客 534

【LeetCode】617. 合并二叉树

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

jiiiiiaaaa的博客 719

LeetCode617. 合并二叉树

本文为LeetCode617. 合并二叉树解析,欢迎学习!

Toby的博客 152
上一篇: 226. 翻转二叉树
下一篇: 236. 二叉树的最近公共祖先
MegaBytes
博客等级 码龄8年 45粉丝 115原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值