LeetCode 108

Jene Hojin Choi·2021년 3월 25일
0

Algorithm

목록 보기
7/17
post-thumbnail

문제

내 솔루션

class Solution:
    def sortedArrayToBST(self, nums: List[int]) -> TreeNode:
        if not nums:
            return None
        mid = int(len(nums)/2)
        root = TreeNode(nums[mid])
        root.left = self.sortedArrayToBST(nums[:mid])
        root.right = self.sortedArrayToBST(nums[mid+1:])
        return root

접근 방식

  1. nums가 None일때 리턴 None해준다.
  2. nums가 None이 아니면 중간 값을 찾아서 최상단 노드로 잡아준다.
  3. 중간값 기준으로 왼쪽의 sublist를 사용하여 sortedArrayToBST를 재귀로 부른다. 그리고 그 부른 함수의 리턴 값을 root의 left tree로 삼는다.
  4. 오른쪽도 마찬가지

0개의 댓글