Процесс инверсии бинарного дерева заключается в замене левого и правого дочерних элементов всех узлов дерева. 2
Один из алгоритмов инверсии: 1
- На входе получают узел бинарного дерева — root. 1
- Проверяют: если root — это пустой массив или null, то возвращают null. 1
- Если нет: вызывают рекурсию на левый узел, а затем на правый. 1
- После того как обе рекурсии вернули результаты, меняют левый и правый узлы местами. 1
- Возвращают корень дерева. 1
Ещё один подход к инверсии: 2
- Если значение root равно null, возвращают значение null. 2
- Создают стек и помещают в него корневой узел. 2
- Пока стек не пуст, продолжают обрабатывать узлы. 2
- Извлекают узел из стека, чтобы поработать с ним. 2
- Поменяют местами левый и правый дочерние элементы этого узла. 2
- Помещают левый и правый дочерние элементы (если они существуют) в стек, чтобы обработать их позже. 2
- Вернут корневой узел, когда всё дерево будет обработано. 2