Here are the steps of our algorithm:
Start by pushing the root node to the queue.
root
Keep iterating until the queue is empty.
In each iteration, first count the elements in the queue (letβs call it levelSize). We will have these many nodes in the current level.
levelSize
Next, remove levelSize nodes from the queue and push their value in an array to represent the current level.
value
After removing each node from the queue, insert both of its children into the queue.
If the queue is not empty, repeat from step 3 for the next level.
Example 1:
Last updated 4 years ago