Ctrl K

Слух по дереву

Средняя
Дан корень root двоичного дерева, все значения вершин в котором различны, и число origin. В минуту 0 новость узнаёт вершина со значением origin. Каждую следующую минуту новость переходит от всех знающих её вершин к их соседям — родителю и детям. Верните, через сколько минут новость будут знать все вершины дерева.
Пример 1
root=tree_node([7, 2, 9, 4, None, None, 8, 1]), origin=9 → 4

Минута 0: 9. Минута 1: 7 и 8. Минута 2: 2. Минута 3: 4. Минута 4: 1. Ответ 4.

Пример 2
root=tree_node([3, 5, 6]), origin=3 → 1

Оба ребёнка корня получают сигнал за одну минуту.

Пример 3
root=tree_node([12]), origin=12 → 0

Вершина одна, и она уже знает новость — 0 минут.

Ограничения
  • 1 ≤ число вершин ≤ 10⁵
  • 1 ≤ Node.val ≤ 10⁵
  • Все значения различны
  • Вершина со значением origin есть в дереве
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиДерево по столбцам СредняяПоддерево над нижним рядом СредняяГде сходятся самые глубокие листья СредняяСколько шагов между ключами СредняяСумма двоюродных в дереве Средняя
загружаем Python…
Вход
root=tree_node([7, 2, 9, 4, None, None, 8, 1]), origin=9
Ожидается
4

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 71 тест на сервере, включая скрытые.