当前位置:网站首页>【力扣】617. 合并二叉树
【力扣】617. 合并二叉树
2022-08-09 14:58:00 【漆黑丶】
题目:
给你两棵二叉树: root1 和 root2 。
想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;否则,不为 null 的节点将直接作为新二叉树的节点。
返回合并后的二叉树。
注意: 合并过程必须从两个树的根节点开始。
示例 1:
输入:root1 = [1,3,2,5], root2 = [2,1,3,null,4,null,7]
输出:[3,4,5,5,4,null,7]
示例 2:
输入:root1 = [1], root2 = [1,2]
输出:[2,2]
提示:
两棵树中的节点数目在范围 [0, 2000] 内
-104 <= Node.val <= 104
答案:
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val = val; * this.left = left; * this.right = right; * } * } */
class Solution {
public TreeNode mergeTrees(TreeNode root1, TreeNode root2) {
if(root1 == null) return root2;
if(root2 == null) return root1;
TreeNode root = new TreeNode();
root.val = root1.val + root2.val;
root.left = mergeTrees(root1.left, root2.left);
root.right = mergeTrees(root1.right, root2.right);
return root;
}
}
边栏推荐
猜你喜欢
随机推荐
【研究生工作周报】(第九周)
升职加薪之SQL索引
tensor转cv::Mat(即CHW转HWC)原理含C#代码实现
【学习笔记】win10报0xc0000221错误无法开机
研究生工作周报(第四周)
Postgraduate Work Weekly (Week 6)
深度神经网络中的多任务学习研究综述
【工具使用】Modbus Poll软件使用详解
模型训练的auc和loss比较问题
【剑指 Offer II 091. 粉刷房子】
【深度学习】SVM解决线性不可分情况(八)
深入浅出最优化(6) 最小二乘问题的特殊方法
AsyncTask 串行还是并行
YOLOV2详解
【更新中7/31】NTIRE 2022 ESR(efficient super-resolution) 方案与结果
22考研中国地质大学-总结
NiN(Network in Network) pytorch实现
如何防止浏览器指纹关联
解决pyqt5 DLL load failed: 找不到指定的程序的问题
【知识分享】异步串行收发器Uart(串口)-通信协议详解









