【题目】


【代码】
【思路】先序同时遍历二叉树,以merge作为合并的目标树,
所以当root1(root2)为空的时候,返回root2(root1)相应位置的节点
当root1和root2都不为空的时候,将两个节点的和相加,声明一个新节点,该节点对应的值是两个节点的相加

class Solution:
def mergeTrees(self, root1: Optional[TreeNode], root2: Optional[TreeNode]) -> Optional[TreeNode]:
if not root1 and not root2:
return
if not root1:
return root2
if not root2:
return root1
merge=TreeNode(root1.val+root2.val)
merge.left=self.mergeTrees(root1.left,root2.left)
merge.right=self.mergeTrees(root1.right,root2.right)
return merge
二叉树合并算法实现
本文介绍了如何使用先序遍历合并两个二叉树。在合并过程中,如果一个树为空,则返回另一个树的对应节点;当两个节点都不为空时,创建新节点,其值为两节点之和,并递归地合并子节点。

被折叠的 条评论
为什么被折叠?



