Jak wydrukowałbyś dane w drzewie binarnym, poziom po poziomie, zaczynając od góry?

To pytanie wywiadu

Myślę o rozwiązaniu. Używa kolejki.

public Void BFS()    
{   
   Queue q = new Queue();    
   q.Enqueue(root);    
   Console.WriteLine(root.Value);  

   while (q.count > 0)  
   {  
      Node n = q.DeQueue();  
      if (n.left !=null)  
       {  
          Console.Writeln(n.left);  
          q.EnQueue(n.left);  
        }   
       if (n.right !=null)  
       {  
          Console.Writeln(n.right);  
          q.EnQueue(n.right);  
        }   
    }
}    

Czy można myśleć o lepszym rozwiązaniu niż to, które nie korzysta z kolejki?

questionAnswers(11)

yourAnswerToTheQuestion