【Leetcode】654:最大二叉树
# Definition for a binary tree node. # class TreeNode: # def __init__(self, val=0, left=None, right=None): # self.val = val # self.left = left # self.right = right class Solution: def constructMaximumBinaryTree(self, nums: List[int]) -> TreeNode: if len(nums)==0: return None if nums==None: return None i=0 max_numer=0 while i<len(nums): if max_numer<nums[i]: max_numer=nums[i] i+=1 # the index of the max numeber index=0 while index<len(nums): if nums[index]==max_numer: break index+=1 new_Node=TreeNode(max_numer) #记住Python永远是!左闭右开!! new_Node.left=self.constructMaximumBinaryTree(nums[0:index]) new_Node.right=self.constructMaximumBinaryTree(nums[index+1:]) return new_Node
这个题目总的来说只要读懂了题目,就能立马解答出来,不需要什么时间。记住python是左闭右开的就好