728x90
솔루션을 보기 전에는 어떤식으로 풀어야 하는지 감이 안왔다.
솔루션을 보고 나니 Binary Search 개념을 사용해서 mid 지점만 root 가 되도록 하면 되는 것이다.
class Solution:
def sortedArrayToBST(self, nums: List[int]) -> TreeNode:
def sortToBST(nums):
if len(nums) == 0:
return None
mid = nums[len(nums) // 2]
root = TreeNode(mid)
root.left = sortToBST(nums[:len(nums) // 2])
root.right = sortToBST(nums[len(nums) // 2 + 1:])
return root
return sortToBST(nums)
728x90
'Leetcode' 카테고리의 다른 글
[LeetCode] Minimum Depth of Binary Tree 파이썬 (recursion) (0) | 2021.04.01 |
---|---|
[LeetCode] Balance Binary Tree python 파이썬 (recursion) (0) | 2021.04.01 |
[LeetCode] Maximum Depth of Binary Tree 파이썬 (recursion) (0) | 2021.03.31 |
[LeetCode] Symmetric Tree 파이썬 (iterative, recursion) (0) | 2021.03.31 |
[LeetCode] Same Tree 파이썬 (TreeNode, recursion) (0) | 2021.03.31 |
댓글