Ctrl K

Дерево по этажам

Средняя
Дан корень root двоичного дерева. Разложите значения вершин по уровням: первый список — значение корня, второй — значения его детей, третий — внуков, и так далее. Внутри каждого уровня значения идут слева направо, как вершины расположены на рисунке дерева. Верните список уровней сверху вниз. Если дерево пустое, верните пустой список.
Пример 1
root=tree_node([8, 4, -1, None, 6, 2]) → [[8], [4, -1], [6, 2]]

На уровне 0 только корень 8, на уровне 1 — 4 и -1, на уровне 2 — правый ребёнок 4 (это 6) и левый ребёнок -1 (это 2), слева направо.

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

Дерево вытянуто в цепочку вправо, на каждом уровне по одной вершине.

Пример 3
root=tree_node([]) → []

Пустое дерево — пустой список.

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

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