Ctrl K

Дерево по записи с чёрточками

Сложная
Двоичное дерево обошли в прямом порядке (вершина, затем левое поддерево, затем правое) и записали в одну строку record: для каждой вершины сначала столько чёрточек -, какова её глубина, а сразу за ними — её значение. Глубина корня 0, у ребёнка глубина на 1 больше, чем у родителя. Если у вершины всего один ребёнок, это всегда левый ребёнок. Восстановите дерево по строке record и верните его корень.
Пример 1
record="7-3--8-9" → [7, 3, 9, 8]

Корень 7 (без чёрточек). У него двое детей с одной чёрточкой — 3 и 9; у 3 один ребёнок 8, он левый.

Пример 2
record="12-5--40---6" → [12, 5, None, 40, None, 6]

Каждая следующая вершина на уровень глубже предыдущей, поэтому дерево — цепочка левых детей.

Пример 3
record="4" → [4]
Ограничения
  • В дереве от 1 до 1000 вершин
  • 1 ≤ значение вершины ≤ 10⁹
  • record — корректная запись такого дерева
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиВсе пути от корня до листьев ЛёгкаяДерево из скобочной записи СредняяДерево в скобочной записи СредняяНаименьшее слово от листа к корню СредняяМаршрут по дереву Средняя
загружаем Python…
Вход
record="7-3--8-9"
Ожидается
[7, 3, 9, 8]

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