root двоичного дерева. Нарисуем дерево на клетчатой бумаге: корень стоит в столбце 0, левый ребёнок любой вершины — на столбец левее её, правый — на столбец правее.
Верните значения вершин по столбцам, от самого левого столбца к самому правому. Внутри столбца вершины идут сверху вниз; если две вершины столбца находятся на одной глубине, первой идёт та, что левее на рисунке (то есть встретится раньше при обходе уровня слева направо).
Для пустого дерева верните пустой список.root=tree_node([6, 4, 8, 1, 5, 7, 9]) → [[1], [4], [6, 5, 7], [8], [9]]
Корень в столбце 0, 4 и 8 — в столбцах -1 и 1. Вершины 5 и 7 обе попадают в столбец 0 на одной глубине, поэтому идут слева направо: 6, 5, 7.
root=tree_node([2, None, 3, 1]) → [[2, 1], [3]]
3 стоит в столбце 1, а её левый ребёнок 1 возвращается в столбец 0 под корень.
root=tree_node([]) → []
Пустое дерево — ни одного столбца.
Node.val ≤ 1000root=tree_node([6, 4, 8, 1, 5, 7, 9])
[[1], [4], [6, 5, 7], [8], [9]]
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 89 тестов на сервере, включая скрытые.