class Solution(object):
def sortedArrayToBST(self, nums):
"""
:type nums: List[int]
:rtype: TreeNode
"""
if len(nums)==0: return None
pos=len(nums)/2
root=TreeNode(nums[pos])
root.left=self.sortedArrayToBST(nums[:pos])
root.right=self.sortedArrayToBST(nums[pos+1:])
return root
def sortedListToBST(self, head):
"""
:type head: ListNode
:rtype: TreeNode
"""
nums=[]
node = head
while node!=None:
nums.append(node.val)
node=node.next
return self.sortedArrayToBST(nums)