반응형
포인트
- 재귀적으로 오름차순 정렬로 bst를 만드는 알고리즘입니다. 코드 전체를 보면, 이분 탐색과도 비슷한 형태를 띄고 있습니다. 이점을 참고하시면 더욱 좋을 것 같습니다.
🧶문서는 항상 수정될 수 있습니다. 비판은 환영합니다.
python
class Solution:
def sortedArrayToBST(self, nums: List[int]) -> TreeNode:
return self.bst(0, len(nums) - 1, nums)
def bst(self,left:int, right:int, nums:List[int]) -> TreeNode:
if left>right:
# 이분 탐색 처럼 움직인다.
return
mid = left+(right-left)//2
# 다른 언어일 경우, 오버 플로우가 발생할 수 있다.
return TreeNode(
nums[mid],
self.bst(left, mid-1, nums),
self.bst(mid+1, right, nums)
)
반응형
'알고리즘' 카테고리의 다른 글
[알고리즘] Word Search (0) | 2021.08.15 |
---|---|
[알고리즘] 3Sum Closest (0) | 2021.07.27 |
[알고리즘] Binary Tree Pruning (0) | 2021.07.24 |
[알고리즘] Lowest Common Ancestor of a Binary Search Tree (0) | 2021.07.19 |
[알고리즘] 4Sum (0) | 2021.07.16 |
댓글