Back to problems Solve on LeetCode → ◆ Tree Patterns See #102 Level Order →

Binary Tree Zigzag Level Order Traversal

LeetCode 103 • Medium • Trees

Input: root = [3, 9, 20, 1, 11, 15, 7]  →  Output: [[3], [20,9], [1,11,15,7]]
Traverse level-by-level, alternating direction: left→right, then right→left, and so on.

TimeO(n)visit each node once
SpaceO(n)queue + result
Visited: 0/7 Queue: 0 Peak Q: 0
Processing
In Queue
Processed
Direction
Queue
empty
Dir
→ left-to-right
Level
[ ]
Result
[ ]
Ready
Press Play to watch BFS traverse in zigzag order, or Step to advance one operation at a time.
Uses a deque for level collection with append vs appendleft to alternate direction in O(1).
Compare: #102 uses straight left-to-right on every level →