Dequeue all nodes of current level and Enqueue all nodes of next level
while ( nodeCount > 0 ) { Node node = q . Dequeue ( ) ; Console . Write ( node . data + " ▁ " ) ; if ( node . left != null ) q . Enqueue ( node . left ) ; if ( node . right != null ) q . Enqueue ( node . right ) ; nodeCount -- ; } Console . WriteLine ( ) ; } }