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

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







posted @ 2017-08-19 20:56  xiejunzhao  阅读(576)  评论(0编辑  收藏  举报