[트리] 리트코드 617: merge-two-binary-trees

LeeJE20·2021년 5월 31일
0

파이썬 문제풀이

목록 보기
15/26
# 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

0개의 댓글