У вас есть неупорядоченный набор авиабилетов (пары «откуда — куда»). Восстановите маршрут целиком.
Каждый билет — объект { from, to }. Гарантируется, что маршрут существует и единственный, начинается из города, которого нет ни в одном to.
sortTickets([
{ from: "London", to: "Moscow" },
{ from: "NY", to: "London" },
{ from: "Moscow", to: "SPb" }
])
// => ["NY", "London", "Moscow", "SPb"]
Постройте два структуры: Map из from → to и Set всех городов-назначений. Начало маршрута — единственный from, которого нет в Set. Дальше идите по цепочке map[city].
Что ещё могут спросить: что делать если в маршруте есть циклы? Или если может быть несколько компонент (несвязный граф)?