Код Senior Деревья обновлено
Ближайший общий предок
Условие
Найди ближайшего общего предка двух значений в двоичном дереве. Узел: { value, left, right }. Оба значения точно есть.
Что проверяют тесты
предок в разных ветках
один узел - предок другого
Как подойти
Рекурсия снизу вверх: каждый узел сообщает наверх, нашёл ли он что-то. Два непустых ответа из разных веток означают развилку. Случай «один является предком другого» закрывается ранним возвратом при совпадении значения.
Подсказки: 2
- Если искомые нашлись в разных поддеревьях, текущий узел и есть ответ.
- Если оба в одном - ответ там же, глубже.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.