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