Skip to content

[515] Find Largest Value in Each Tree Row

https://leetcode.com/problems/find-largest-value-in-each-tree-row/description/

  • algorithms
  • Medium (56.54%)
  • Source Code: 515.find-largest-value-in-each-tree-row.py
  • Total Accepted: 61.2K
  • Total Submissions: 106.4K
  • Testcase Example: '[1,3,2,5,3,null,9]'

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]

python
# Definition for a binary tree node.
class TreeNode(object):
    def __init__(self, x):
        self.val = x
        self.left = None
        self.right = None

    def __str__(self):
        return self.val

class Solution(object):
    def largestValues(self, root):
        """
        :type root: TreeNode
        :rtype: List[int]
        """
        result = []
        if not root: return result

        queue = [root]

        while queue:
            result.append(max([i.val for i in queue]))
            lenq = len(queue)
            # print(queue)
            for node in queue[:lenq]:
                if node.left:
                    queue.append(node.left)
                if node.right:
                    queue.append(node.right)

            queue = queue[lenq:]

        return result
#
#
#
# n1 = TreeNode(1)
# n2 = TreeNode(2)
# n3 = TreeNode(3)
# n4 = TreeNode(5)
# n5 = TreeNode(3)
# n6 = TreeNode(9)
#
# n1.left = n3
# n1.right = n2
# n3.left = n4
# n3.right = n5
# n2.right = n6
#
#
# s = Solution()
# print s.largestValues(n1)

Last updated: