【代码】
【思路】先序同时遍历二叉树,以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