Ctrl K

Максимум на каждом уровне дерева

Средняя
Дан корень root двоичного дерева. Уровнем назовём все узлы на одном расстоянии от корня: корень — уровень 0, его дети — уровень 1 и так далее. Верните список, в котором на i-м месте стоит наибольшее значение среди узлов уровня i. Для пустого дерева верните пустой список.
Пример 1
root=tree_node([4, 9, 2, -3, None, 7, 1]) → [4, 9, 7]

На глубине 0 только 4; на глубине 1 — 9 и 2, максимум 9; на глубине 2 — -3, 7 и 1, максимум 7.

Пример 2
root=tree_node([-5, None, -8]) → [-5, -8]

На каждом уровне по одному узлу, поэтому максимум уровня — сам этот узел.

Пример 3
root=tree_node([]) → []
Ограничения
  • Число узлов — от 0 до 10⁴
  • -2³¹ ≤ значение узла ≤ 2³¹ − 1
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиДерево глазами наблюдателя справа СредняяДерево по столбцам СредняяПервый на нижнем этаже СредняяВставить уровень в дерево СредняяДерево на клетчатой сетке Средняя
загружаем Python…
Вход
root=tree_node([4, 9, 2, -3, None, 7, 1])
Ожидается
[4, 9, 7]

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