본문 바로가기
Coding Test/LeetCode

[LeetCode] 108. Convert Sorted Array to Binary Search Tree [Python(파이썬)]

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

문제 👉 <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


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

댓글