Ctrl K

Змейка по уровням дерева

Средняя
Дан корень root двоичного дерева. Обойдите его по уровням «змейкой»: уровень корня читается слева направо, следующий — справа налево, следующий снова слева направо, и так далее, чередуя направление. Верните список уровней сверху вниз, где каждый уровень — список значений в порядке чтения. Для пустого дерева верните пустой список.
Пример 1
root=tree_node([8, 3, 10, 1, 6, None, 14]) → [[8], [10, 3], [1, 6, 14]]

Уровень 0 читаем слева направо: 8. Уровень 1 — справа налево: 10, 3. Уровень 2 — снова слева направо: 1, 6, 14.

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

На уровне 1 одна вершина, направление ничего не меняет; на уровне 2 снова слева направо: 3, 4.

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

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

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

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