Leetcode617.|Leetcode617. 合并二叉树
题目
给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。
【Leetcode617.|Leetcode617. 合并二叉树】你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。
示例 1:
输入:
Tree 1Tree 2
12
/ \/ \
3213
/\\
547
输出:
合并后的树:
3
/ \
45
/ \\
547
注意: 合并必须从两个树的根节点开始。
Swift解法
class Solution {
func mergeTrees(_ t1: TreeNode?, _ t2: TreeNode?) -> TreeNode? {
if t1 == nil&& t2 == nil { return nil }
var sum = 0
if let val = t1?.val {sum += val}
if let val = t2?.val {sum += val}
let node = TreeNode(sum)
node.left = mergeTrees(t1?.left, t2?.left)
node.right = mergeTrees(t1?.right, t2?.right)
return node
}
}
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/merge-two-binary-trees
推荐阅读
- java中如何实现重建二叉树
- 二叉树路径节点关键值和等于目标值(LeetCode--112&LeetCode--113)
- 笔记|C语言数据结构——二叉树的顺序存储和二叉树的遍历
- 如何将多个小分子文件合并为单个
- LeetCode-102.|LeetCode-102. 二叉树的层序遍历
- JAVA|JAVA 最好用的大文件切割与合并
- 331.|331. 验证二叉树的前序序列化
- 先序遍历 中序遍历 后序遍历 层序遍历
- Python实用技法第33篇(字符串连接及合并)
- C语言数据结构之二叉链表创建二叉树