Зеркальное отображение двоичного дерева

Дано двоичное дерево, которое нужно отразить. То, что «читается» слева направо, должно перейти в «чтение» справа налево.

Если взять двоичное дерево на рисунке и отразить его, то, к примеру, ничего не изменится. Знаете почему 🤔?

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

Входные данные

Во входных данных содержатся целые числа, разделенные пробелами, которые обозначают значения в узлах двоичного дерева. Порядок значений соответствует обходу, при котором сначала посещается левое поддерево, а затем правое. Значение 0 означает, что узел отсутствует. Гарантируется, что входное двоичное дерево корректно.

Выходные данные

Программа должна вывести прямой (pre-order) обход зеркально отражённого двоичного дерева.

Примеры

Входные данные

Выходные данные

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

Пояснение

Пример 1:

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

Пример 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