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