Preorder-Traversierung (Pre-order Traversal) eines Binärbaums

Die Preorder-Traversierung eines Baums ist ein rekursives Verfahren, bei dem zuerst ein Knoten besucht wird, dann sein linker Teilbaum und anschließend sein rechter Teilbaum:
  1. Besuche den aktuellen Knoten
  1. Besuche den linken Teilbaum (node.left)
  1. Besuche den rechten Teilbaum (node.right)
Gegeben ist ein Binärbaum, für den eine Preorder-Traversierung durchgeführt werden soll.

Eingabe

Die Eingabe besteht aus durch Leerzeichen getrennten ganzen Zahlen, die die Werte in den Knoten des Binärbaums darstellen. Die Reihenfolge der Werte wird wie in der vorherigen Beschreibung angegeben, indem man jedes Mal von links nach rechts durch den Teilbaum geht. Ein Wert von 0 bedeutet, dass der entsprechende Knoten nicht existiert. Es ist garantiert, dass der eingegebene Binärbaum gültig ist.

Ausgabe

Das Programm soll die Werte in den Knoten eines Binärbaums bei einer Preorder-Traversierung ausgeben. Alle Werte sollen durch ein Leerzeichen voneinander getrennt werden.

Beispiele

Eingabe
Ausgabe
1 2 3 4 5 8 9 0 0 0 0 0 0 6 7 0 0 0 0
1 2 4 8 9 5 3 6 7
1 2 3 4 5 8 0 0 0 0 0 6 7 0 0 0 0
1 2 4 8 5 3 6 7
1 2 3 4 5 0 0 0 0 6 7 0 0 8 9 0 0 0 0
1 2 4 5 3 6 7 8 9
1 2 3 4 5 0 0 7 8 0 0 0 0 0 6 0 0
1 2 4 5 7 8 3 6

Erklärung

  1. Beispiel 1:
    1. notion image
  1. Beispiel 2:
    1. notion image
  1. Beispiel 3:
    1. notion image
  1. Beispiel 4:
    1. notion image
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue