Get Lonely Binary Nodes
Дадим определение “одинокого узла” в двоичном дереве. Это узел, который является единственным потомком своего родительского узла. Корень дерева не является одиноким узлом, так как у него нет родительского узла.
Задача: вам дано двоичное дерево. Необходимо вернуть массив, содержащий значения всех одиноких узлов в дереве.
Входные данные: root — корень двоичного дерева.
Вывод: массив значений одиноких узлов.
Пример:
Output: [9, 4]
Разбор
Рекурсивно пройдем по двоичному дереву: для каждого узла проверим условие для одинокого узла, т.е. только один из потомков (правый или левый) должен отсутствовать. Если это условие выполняется, записываем значение единственного потомка в результирующий список.
Продолжаем рекурсивный поиск для следующих узлов.
Реализация
https://gist.github.com/unilecs/0a8aac8308c1dce726bf65afc0c6f449