It is a typical and easy recursive solution in Python. I did some simple codes but couldn't figure how "maximum recursion depth exceeded
" message is got. I saw very similar codes in the forum and they can run well. Please help to check why my codes are with bug. Thanks.
class Solution(object): def sortedArrayToBST(self, nums): """ :type nums: List[int] :rtype: TreeNode """ if not nums: return None tree = self.setSubTree(nums, 0, len(nums)-1) return tree def setSubTree(self, nums, start, end): root_pos = (start+end) // 2 root = TreeNode(nums[root_pos]) if root_pos is not start: root.left = self.setSubTree(nums, start, root_pos-1) if root_pos is not end: root.right = self.setSubTree(nums, root_pos+1, end) return root