给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。
你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。
示例 1:
输入:
Tree 1 Tree 2
1 2
/ \\ / \\
3 2 1 3
/ \\ \\
5 4 7
输出:
合并后的树:
3
/ \\
4 5
/ \\ \\
5 4 7
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def mergeTrees(self, t1, t2):
\"\"\"
:type t1: TreeNode
:type t2: TreeNode
:rtype: TreeNode
\"\"\"
if not t1 and not t2:
return
if not t1:
return t2
if not t2:
return t1
t1.val=t1.val+t2.val
t1.left=self.mergeTrees(t1.left,t2.left) #不要忘记t1.right
t1.right=self.mergeTrees(t1.right,t2.right)
return t1
执行用时: 120 ms, 在Merge Two Binary Trees的Python3提交中击败了83.59%的用户
继续阅读与本文标签相同的文章
-
二维码如此普及,为何三维码没办法普及
2026-05-19栏目: 教程
-
山东有效专利量前十企业和前十大专院校名单来啦,第一名你想到了吗
2026-05-19栏目: 教程
-
两种ASO应用优化的核心操作方法
2026-05-19栏目: 教程
-
第126届广交会15日开幕,新产品新技术受青睐
2026-05-19栏目: 教程
-
多位知名专家建言 宁波打造中国隐形冠军之城
2026-05-19栏目: 教程
