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 означает отсутствие узла
Решите эту задачу в браузере
Создайте бесплатный аккаунт — редактор Python и Java, проверка на тестах за секунды.
Комментарии (0)
Зарегистрируйтесь или войдите, чтобы оставить комментарий
Пока нет комментариев. Будьте первым!