← Tree Traversal

Micro-Drill #217 — Right side view (BFS)

Tree Traversal Target: 15s

BFS level-by-level. Take the last node of each level. Standard level-order with level_size tracking.

from collections import deque

def rightSideView(root):
    if not root: return []
    res = []
    q = deque([root])
    while q:
        level_size = len(q)
        for i in range(level_size):
            node = q.popleft()
            if i == level_size - 1:
                res.append(node.val)  # rightmost in level
            if node.left: q.append(node.left)
            if node.right: q.append(node.right)
    return res

Type it from memory. Go.

Practice Problems

Related Coding Drills

← Micro #216 Micro #218 →