Задачи
February 11

Вид справа на бинарное дерево

Задача: дан корневой элемент бинарного дерева. Представьте, что вы находитесь с правой стороны от исходно дерева и верните значения узлов, которые вы видите, упорядоченные сверху внизу.

Пример:

1
/ \
2 3
\
5

Output: [1, 3, 5]

Разбор

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

В реализации мы начинаем поиск в ширину справа налево, поэтому мы записываем 1й элемент текущего уровня.

Реализация

Play-test

https://dotnetfiddle.net/86JVkZ