<aside> 👉🏿 문제 링크
</aside>
문제 정리
<aside> 👉🏿 두개의 이진 트리인 root1과 root2가 주어진다.
root1과 root2가 병합된 새로운 root를 반환하라.
</aside>
Input: root1 = [1,3,2,5], root2 = [2,1,3,null,4,null,7]
Output: [3,4,5,5,4,null,7]
접근 방법
<aside> 👉🏿 새로운 노드를 생성한다.
루트 노드를 root1과 root2를 합친 값으로 생성한다.
새로운 노드의 left, right를 재귀적으로 합쳐나간다.
</aside>
코드 진행
class Solution:
def mergeTrees(self, root1, root2):
if root1 and root2:
node = TreeNode(root1.val + root2.val)
node.left = self.mergeTrees(root1.left, root2.left)
node.right = self.mergeTrees(root1.left, root2.right)
return node
else:
return root1 or root2