Search⌘ K

Reconstruct Itinerary

Explore how to reconstruct an itinerary from a list of airline tickets starting from JFK by mapping the problem to a graph. Learn to implement a depth-first search with lexical ordering to find a valid path that uses all tickets once. Understand algorithm complexity and optimize with sorting and efficient array operations.

Description

Assume we have an array of airline tickets represented as pairs of departure and arrival airports like [from, to]. We have to reconstruct the itinerary in order. All tickets belong to a man who departs from a specified location, e.g., JFK. Therefore, the itinerary must begin with JFK. There might be multiple valid itineraries; you must return the itinerary with the smallest lexical order.

Constraints

Consider the following constraints:

  • 1 <= tickets.length <= 300
  • tickets[i].length must be 2.
  • fromi.lengthfrom_i.length, toi.lengthto_i.length == 3
  • fromifrom_i and
...