public List<String> findItinerary(String[][] tickets) {
        List<Itinerary> input = new ArrayList<>();
        for (String[] ticket : tickets) {
            input.add(new Itinerary(ticket[0], ticket[1]));
        }
        Collections.sort(input);
        List<String> output = new ArrayList<>();
        boolean[] used = new boolean[input.size()];
        findItineraryUtil(input, used, "JFK", output, 0);
        return output;
    }
Date 03/08/2016
@author Tushar Roy

Reconstruct itinerary based on ticket.

https://leetcode.com/problems/reconstruct-itinerary/
src/com/interview/recursion/ReconstructItinerary.java