Leetcode # 515. Find Largest Value in Each Tree Row
- 2024.12.25
- ★★ Medium Breadth-First Search LeetCode
Problem
https://leetcode.com/problems/find-largest-value-in-each-tree-row
Solution: BFS
Time Complexity: O(len(tree))
Space Complexity: O(log(len(tree)))
(The input and output generally do not count towards the space complexity.)
class Solution:
def largestValues(self, root: Optional[TreeNode]) -> List[int]:
if root is None: return []
queue = deque([[root, 0]])
lagest_value = {}
while queue:
node, level = queue.popleft()
if level not in lagest_value:
lagest_value[level] = -float("inf")
lagest_value[level] = max(lagest_value[level], node.val)
for child in [node.left, node.right]:
if child is None: continue
queue.append([child, level + 1])
return [lagest_value[i] for i in range(max(lagest_value.keys()) + 1)]
Last Updated on 2024/12/25 by A1go