Python 3 Recursive solution, 98% faster, 66% less space
If you understand recursion, this solution is not difficult to figure out. I\'d like to input one thing. Do not worry that nums[:mid] or nums[mid+1:] might repo
If you understand recursion, this solution is not difficult to figure out. I\'d like to input one thing. Do not worry that `nums[:mid]` or `nums[mid+1:]` might report error as if they are out of the range of a list. They will return an empty list `[]`. But `nums[len(nums)]` will return error if you want to access to an element which is out of the range. Hope this will help Python beginners like myself.\n\n```\nclass Solution:\n    def sortedArrayToBST(self, nums: List[int]) -> TreeNode:\n        \n        if not nums:\n            return None\n        \n        mid = len(nums)//2\n        root = TreeNode(nums[mid])\n        root.left = self.sortedArrayToBST(nums[:mid])\n        root.right = self.sortedArrayToBST(nums[mid+1:])\n        return root\n```
['Python', 'Python3']