5816. Вид дерева справа

Medium 0 решили
Двоичное дерево задано списком в порядке уровней: у узла с индексом i левый ребёнок — 2·i+1, правый — 2·i+2. Значение -1 означает, что узла нет. Корень — индекс 0. Если в слоте -1, его потомки в дерево не входят.

Если встать справа от дерева, на каждом уровне видно только самый правый существующий узел. Если правого нет, виден тот, что левее, в том числе единственный левый ребёнок.

Верните эти значения сверху вниз. Пустое дерево — пустой список.

Примеры:

Вход: tree = [1, 2, 3, -1, 5, -1, 4]
Выход: [1, 3, 4]
Объяснение: На нижнем уровне справа стоит 4. Пятёрка левее, её закрывает четвёрка.
Вход: tree = [1, 2, -1]
Выход: [1, 2]
Объяснение: Правого ребёнка нет, справа виден левый.
Вход: tree = [1]
Выход: [1]
Объяснение: Один узел и есть весь вид.

Ограничения:

0 <= tree.length <= 10^4 значение узла от -10^9 до 10^9 и не равно -1 -1 означает отсутствие узла

Теги:

Часто на собесе Деревья

Комментарии (0)

Зарегистрируйтесь или войдите, чтобы оставить комментарий

Пока нет комментариев. Будьте первым!