LeetCode 108


質問する



マイソリューション

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

方法

  • numsがNoneの場合はNoneを返します.
  • numsがNoneでない場合は、中間値を検索して最上位ノードに配置します.
  • の中間値を基準として、左側のサブリストを使用してソートArrayToBSTを再帰と呼ぶ.次に、関数の戻り値をルートの左ツリーとします.
  • 右側も