Ctrl K

Дерево глазами наблюдателя справа

Средняя
Дан корень root двоичного дерева. Представьте, что вы стоите справа от нарисованного дерева и смотрите на него. На каждом уровне вы видите только одну вершину — ту, что ближе всех к вам, то есть самую правую на этом уровне; остальные она заслоняет. Верните значения видимых вершин сверху вниз. Для пустого дерева верните пустой список.
Пример 1
root=tree_node([7, 2, 9, 4, 6, None, 1]) → [7, 9, 1]

С каждого уровня видна самая правая вершина: 7, затем 9, затем 1.

Пример 2
root=tree_node([1, 2, 3, 4]) → [1, 3, 4]

На третьем уровне есть только 4 — она висит слева, но правее неё на этом уровне никого нет, поэтому её тоже видно.

Пример 3
root=tree_node([]) → []

Пустое дерево — смотреть не на что.

Ограничения
  • 0 ≤ число вершин ≤ 1000
  • -1000 ≤ Node.val ≤ 1000
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиДерево по столбцам СредняяПервый на нижнем этаже СредняяМаксимум на каждом уровне дерева СредняяВставить уровень в дерево СредняяДерево на клетчатой сетке Средняя
загружаем Python…
Вход
root=tree_node([7, 2, 9, 4, 6, None, 1])
Ожидается
[7, 9, 1]

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