108 | Convert Sorted Array to Binary Search Tree
https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree/




작성 코드 (30분 내 해결 X)
- 인덱스 값으로 append?
- 재귀 호출?? 어떻게 인자를 받을 것인가?
이상 코드
from typing import List
# Definition for a binary tree node.
class TreeNode:
def __init__(self, x):
self.val = x
self.left = None
self.right = None
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
- 중앙값을 갖도록 내림값 리턴하는 // 연산자 사용
- 절반씩 분할해 처리되는 분할 정복 구조로 처리됨
반응형
'Algorithm > 파이썬 알고리즘 인터뷰' 카테고리의 다른 글
| [스택, 큐] 중복 문자 제거 (0) | 2023.03.13 |
|---|---|
| [연결 리스트] 두 정렬 리스트의 병합 (0) | 2023.03.09 |
| [트리] 가장 긴 동일 값의 경로 (0) | 2022.05.10 |
| [트리] 이진 트리의 최대 깊이 (0) | 2022.05.04 |
| [연결 리스트] 팰린드롬 연결 리스트 (0) | 2022.04.06 |
댓글