본문 바로가기
Coding Test/LeetCode

[LeetCode] 617. Merge Two Binary Trees [Python(파이썬)]

'파이썬 알고리즘 인터뷰'를 보고 작성한 글입니다. 😀

문제 👉 <Merge Two Binary Trees - LeetCode>

1. 문제 (두 이진 트리 병합)

두 이진 트리를 병합하라. 중복되는 노드는 값을 합산한다.



2. 풀이

재귀탐색을 이용한 풀이

3. 코드

# 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: TreeNode, root2: TreeNode) -> TreeNode:
        if root1 and root2:
            node = TreeNode(root1.val + root2.val)
            node.left = self.mergeTrees(root1.left, root2.left)
            node.right = self.mergeTrees(root1.right, root2.right)
            return node
        else:
            return root1 or root2
  • 결과 :
방식 Status Runtime Memory Language
재귀탐색 [Accepted] 108 ms 15.4 MB python3


References


🏋🏻 개인적으로 공부한 내용을 기록하고 있습니다.
잘못된 부분이 있다면 과감하게 지적해주세요!! 🏋

댓글