binary tree
2
5
1
3
4
queue (FIFO)
front →
(empty)
← backBFS, take last of level
▸1rightSideView(root):2 queue = [root]3 while queue not empty:4 levelSize = len(queue)5 for i in range(levelSize):6 node = queue.dequeue()7 if i == levelSize - 1: rightView.append(node.val)8 enqueue node.children9 return rightView
state
- targetlast node per level