617. 合并二叉树

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def mergeTrees(self, root1: Optional[TreeNode], root2: Optional[TreeNode]) -> Optional[TreeNode]:
tree = TreeNode(val=0)
# 同步遍历两颗树
# 有 空的情况
if root1==None: return root2
if root2==None: return root1
# 无空的情况
tree.val = root1.val + root2.val
tree.left = self.mergeTrees(root1.left,root2.left)
tree.right = self.mergeTrees(root1.right,root2.right)
return tree