2019年2月28日 654. Maximum Binary Tree

曾经终败给现在 2021-12-17 11:17 336阅读 0赞

比较简单的树拆分生成,我发现递归的思路我是比较有感觉的。。

  1. # Definition for a binary tree node.
  2. # class TreeNode(object):
  3. # def __init__(self, x):
  4. # self.val = x
  5. # self.left = None
  6. # self.right = None
  7. import operator
  8. class Solution(object):
  9. def buildTree(self, nums):
  10. if len(nums) == 0:
  11. return None
  12. index, value = max(enumerate(nums), key=operator.itemgetter(1))
  13. root = TreeNode(value)
  14. root.left = self.buildTree(nums[:index])
  15. root.right = self.buildTree(nums[index+1:])
  16. return root
  17. def constructMaximumBinaryTree(self, nums):
  18. """
  19. :type nums: List[int]
  20. :rtype: TreeNode
  21. """
  22. return self.buildTree(nums)

转载于:https://www.cnblogs.com/seenthewind/p/10448197.html

发表评论

表情:
评论列表 (有 0 条评论,336人围观)

还没有评论,来说两句吧...

相关阅读