# https://leetcode.com/problems/merge-two-binary-trees/
# 21.05.31
# # Q45. 이진 트리 반전 문제 재귀 풀이처럼 풀었다.
# 재귀로 하니까 너무 쉽게 풀렸다. 참 좋은 재귀!
class Solution:
# 합쳐진 트리를 리턴해주는 함수
def mergeTrees(self, root1: TreeNode, root2: TreeNode) -> TreeNode:
if root1 and root2:
# left끼리의 합쳐진 트리
left = self.mergeTrees(root1.left, root2.left)
# right끼리의 합쳐진 트리
right = self.mergeTrees(root1.right, root2.right)
# 가운데 합치기
node = TreeNode(root1.val + root2.val)
# 연결
node.left = left
node.right = right
return node
elif root1: return root1
elif root2: return root2
else: return None