Wie würden Sie die Daten in einem Binärbaum von oben beginnend Ebene für Ebene ausdrucken?

Dies ist eine Interviewfrage

Ich denke an eine Lösung. Es wird die Warteschlange verwendet.

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);  
        }   
    }
}    

Gibt es eine bessere Lösung als diese, die Queue nicht verwendet?

Antworten auf die Frage(11)

Ihre Antwort auf die Frage