Анонс #241. Восстаналиваем двоичное дерево

Анонс #241. Восстаналиваем двоичное дерево

UniLecs
Центрированный (in-order) обход дерева:
A, B, C, D, E, F, G, H, I.

Задача: по двум обходам двоичного дерева восстановить исходное дерево.

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

  • preorder - массив значений дерева при прямом обходе,
  • inorder - массив значений дерева при центрированном обходе.

Вывод: исходное двоичное дерево (ссылка на корневой элемент дерева).

Условие: дубликатов в дереве не существует.

Справка: посмотрите как совершается обход в том или ином случае на вики.

Примечание: в качестве примера класса для узла двоичного дерева используйте следующее определение:

C#: класс TreeNode

Пример

  • preorder = [3, 9, 20, 15, 7]
  • inorder = [9, 3, 15, 20, 7]

Output:


Report Page