...

/

Untitled Masterpiece

Try to solve the Reconstruct Itinerary problem.

Statement

Given a list of airline tickets where tickets[i] = [fromi, toi] represent a departure airport and an arrival airport of a single flight, reconstruct the itinerary in the correct order and return it.

The person who owns these tickets always starts their journey from "JFK". Therefore, the itinerary must begin with "JFK". If there are multiple valid itineraries, you should prioritize the one with the smallest lexical ordeLexicographical order is a way of sorting similar to how words are arranged in a dictionary. It compares items character by character, based on their order in the alphabet or numerical value.r when considering a single string.

  • For example, the itinerary ["JFK", "EDU"] has a smaller lexical order than ["JFK", "EDX"].

Note: You may assume all tickets form at least one valid itinerary. You must use all the tickets exactly once.

Constraints:

  • 11 \leq tickets.length 300\leq 300

  • tickets[i].length =2= 2

  • fromi.length =3= 3

  • toi.length =3= 3

  • fromi \neq toi

  • fromi and toi consist of uppercase English letters.

Example

canvasAnimation-image
1 / 3

Understand the problem

Let’s take a moment to make sure you’ve correctly understood the problem. The quiz below helps you check if you’re solving the correct problem:

Reconstruct Itinerary

1.

Given the following list of tickets, what is the correct itinerary starting from “JFK”?

tickets == [[“JFK”, “ABC”], [“ABC”, “COA”], [“JFK”, “ABX”], [“COA", "JFK”]]

A.

[“JFK”, “ABC”, “COA”, “JFK”, “ABX”]

B.

[“JFK”, “ABX”, “JFK”, “ABC”, “COA”, “JFK”]

C.

[“JFK”, “ABC”, “JFK”, “COA”, “ABX”]

D.

[“ABX”, “JFK”, “COA”, “JFK”, “ABC”]


1 / 3

Figure it out!

We have a game for you to play. Rearrange the logical building blocks to develop a clearer understanding of how to solve this problem.

Sequence - Vertical
Drag and drop the cards to rearrange them in the correct sequence.

1
2
3
4
5
6
7

Try it yourself

Implement your solution in the following coding playground.

Java
usercode > Solution.java
import java.util.*;
public class Solution {
public static List<String> findItinerary(List<List<String>> tickets) {
// Replace this placeholder return statement with your code
return new ArrayList<>();
}
}
Reconstruct Itinerary

Access this course and 1200+ top-rated courses and projects.