<aside> 👉🏿 문제 링크

</aside>

문제 정리

<aside> 👉🏿 두개의 이진 트리인 root1과 root2가 주어진다.

root1과 root2가 병합된 새로운 root를 반환하라.

</aside>

Untitled

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