'파이썬 알고리즘 인터뷰'를 보고 작성한 글입니다. 😀
문제 👉 <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
🏋🏻 개인적으로 공부한 내용을 기록하고 있습니다.
잘못된 부분이 있다면 과감하게 지적해주세요!! 🏋
'Coding Test > LeetCode' 카테고리의 다른 글
[LeetCode] 687. Longest Univalue Path [Python(파이썬)] (0) | 2021.11.24 |
---|---|
[LeetCode] 297. Serialize and Deserialize Binary Tree [Python(파이썬)] (0) | 2021.11.24 |
[LeetCode] 226. Invert Binary Tree [Python(파이썬)] (0) | 2021.11.24 |
댓글