Этот вопрос закрыт для ответов, так как повторяет вопрос Как реализовать функцию invert для объекта?
@Richswitch
junior

Как реализовать функцию invert для бинарного дерева?

Привет!
Необходимо реализовать функцию invert для бинарного дерева.
Пример:
Вход (схематично)
:
    4
   / \
 2    7
/ \   / \
1  3 6  9


Выход (схематично)
:
    4
   / \
 7    2
/ \   / \
9  6 3  1


Есть такие данные:
const tree = {left: {value: 2}, value: 1, right:{value: 4}}

После обработки функцией:
const inverted = invertTree(tree);
Должен получится вот такой объект:
{left: {value: 4}, value: 1, right:{value: 2}}

Читаю статьи на эту тему, но пока не могу понять с чего начинать и как заканчивать :\
  • Вопрос задан
  • 4966 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Рекурсия же:

const invertTree = ({ value, left, right }) => {
  const node = { value };
  if (left) {
    node.right = invertTree(left);
  }
  if (right) {
    node.left = invertTree(right);
  }
  return node;
};
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы