Trace BFS on [1,2,3,null,5,null,4]:
Queue starts with [1]. Level size is . Process node (last in level). Add children , . Result: [1].
Queue: [2, 3]. Level size is . Process , add child . Process , add child . Last in level is . Result: [1, 3].
Queue: [5, 4]. Level size is . Process (no children). Process (no children). Last is . Result: [1, 3, 4].
You visit every node once, so time. The queue holds at most one full level, so space where is the tree's maximum width.