Problem Statement: Given the root of a binary tree, return an array of the largest value in each row of the tree (0-indexed).
Example 1:
Input: root = [1,3,2,5,3,null,9] Output: [1,3,9]
Constraints:
- The number of nodes in the tree will be in the range
[0, 104]. -231 <= Node.val <= 231 - 1
class TreeNode(object): def __init__(self, val=0, left=None, right=None): self.val = val self.left = left self.right = right class Solution(object): def find_largest_in_each_row(self, root, level=0, traversed={}): if not root: return {} if level in traversed: traversed[level]=max(traversed[level], root.val) else: traversed[level]=root.val self.find_largest_in_each_row(root.left, level+1, traversed) self.find_largest_in_each_row(root.right, level+1, traversed) return traversed def largestValues(self, root): """ root: TreeNode return: List[int] """ traversed={} return [v for k,v in self.find_largest_in_each_row(root, 0, traversed).items()]



