问题描述
我的解法
由于最近在学习python,所以尝试用python3写实现。
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def sortedArrayToBST(self, nums: List[int]) -> TreeNode:
if len(nums)==0:
return None
mid = math.floor(len(nums)/2)
root = TreeNode(nums[mid])
if mid>0:
root.left = self.sortedArrayToBST(nums[:mid])
if mid+1<len(nums):
root.right = self.sortedArrayToBST(nums[mid+1:])
return root
知识点:
1.list的划分[begin: end: step]是左闭右开的。
2.整数的取整方法:
- 向下取整可直接int()
- 四舍五入round()
-
使用math模块 向上取整math.ceil() 向下取整math.floor()