Specchiare l'albero binario

Dato un albero binario, ti viene richiesto di specchiarlo. “Leggerlo” da sinistra a destra dovrebbe trasformarsi in una lettura da destra a sinistra.

Specchiare l’albero binario mostrato nell’immagine, in questo caso, non produrrà alcun cambiamento. Sai spiegare il perché? 🤔

profound.academy-Binary-tree-7.drawio.png

Input

L’input contiene numeri interi separati da spazi, che rappresentano i valori dei nodi dell’albero binario. L’ordine dei valori è determinato percorrendo prima il sottoalbero sinistro e poi quello destro a ogni biforcazione. Un valore pari a 0 indica che il nodo non esiste. È garantito che l’albero binario di input sia valido.

Output

Il programma deve stampare la visita in pre-ordine dell’albero binario specchiato.

Esempi

Input

Output

1 2 3 8 5 0 0 0 0 5 8 0 0 0 0

1 3 8 5 2 5 8

1 2 3 4 5 0 0 7 8 0 0 0 0 0 6 0 0

1 3 6 2 5 8 7 4

Spiegazione

Esempio 1:

profound.academy-Binary-tree-7.drawio.png

Esempio 2:

profound.academy-Binary-tree-4.drawio (5).png

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