'파이썬 알고리즘 인터뷰'를 보고 작성한 글입니다. 😀
문제 👉 <Convert Sorted Array to Binary Search Tree - LeetCode>
1. 문제 (정렬된 배열의 이진 탐색 트리 변환)
오름차순으로 정렬된 배열을 높이 균형(Height Balanced) 이진 탐색 트리로 변환하라.
Input: nums = [-10,-3,0,5,9]
Output: [0,-3,9,-10,null,5] or [0,-10,5,null,-3,null,9]
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 sortedArrayToBST(self, nums: List[int]) -> TreeNode:
if not nums: return None
mid = len(nums) // 2
node = TreeNode(nums[mid])
node.left = self.sortedArrayToBST(nums[:mid])
node.right = self.sortedArrayToBST(nums[mid+1:])
return node
- 결과 :
방식 | Status | Runtime | Memory | Language |
---|---|---|---|---|
재귀탐색 | [Accepted] | 60 ms | 15.6 MB | python3 |
References
🏋🏻 개인적으로 공부한 내용을 기록하고 있습니다.
잘못된 부분이 있다면 과감하게 지적해주세요!! 🏋
'Coding Test > LeetCode' 카테고리의 다른 글
[LeetCode] 310. Minimum Height Trees [Python(파이썬)] (0) | 2021.11.24 |
---|---|
[LeetCode] 105. Construct Binary Tree from Preorder and Inorder Traversal [Python(파이썬)] (0) | 2021.11.24 |
[LeetCode] 687. Longest Univalue Path [Python(파이썬)] (0) | 2021.11.24 |
댓글