首页 > 其他 > 详细

515. Find Largest Value in Each Tree Row 二叉树每一层的最大值

时间:2017-08-19 21:40:43      阅读:280      评论:0      收藏:0      [点我收藏+]

You need to find the largest value in each row of a binary tree.

Example:

Input: 

          1
         /         3   2
       / \   \  
      5   3   9 

Output: [1, 3, 9]

题意:找出二叉树一层的最大值

解法:用BFS的方式遍历每一层

  1. class Solution(object):
  2. def largestValues(self, root):
  3. """
  4. :type root: TreeNode
  5. :rtype: List[int]
  6. """
  7. result = []
  8. if not root:
  9. return result
  10. queue = [root]
  11. while queue:
  12. count = len(queue)
  13. res = -2147483648
  14. for i in range(count):
  15. curNode = queue.pop(0)
  16. res = max(curNode.val, res)
  17. if curNode.left:
  18. queue.append(curNode.left)
  19. if curNode.right:
  20. queue.append(curNode.right)
  21. result.append(res)
  22. return result







515. Find Largest Value in Each Tree Row 二叉树每一层的最大值

原文:http://www.cnblogs.com/xiejunzhao/p/7397883.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!