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







原文地址:https://www.cnblogs.com/xiejunzhao/p/7397883.html