2
def findTicketsAdjList(self, tickets):4
for src, dest in tickets:6
ticket[src].append(dest)10
for src, dest in ticket.items():12
ticket[src] = sorted(ticket[src], reverse=True)16
def reconstructItinerary(self, source, tickets, itinerary):18
while tickets[source]:19
destination = tickets[source].pop()20
self.reconstructItinerary(destination, tickets, itinerary)21
itinerary.append(source)24
def findItinerary(self, tickets: List[List[str]]) -> List[str]:26
if "JFK" not in tickets[0]:29
ticketsAdj = self.findTicketsAdjList(tickets)30
if "JFK" not in ticketsAdj:33
itinerary = self.reconstructItinerary("JFK", ticketsAdj, itinerary)35
return itinerary[::-1]