Encontrar um caminho possível em ordem alfabética
Dada uma lista de passagens aéreas representadas por pares de aeroportos de partida e chegada [from, to], reconstrua o itinerário em ordem. Todas as passagens pertencem a um homem que parte de A. Portanto, o itinerário deve começar em A.
Exemplos
find_path([["C", "F"], ["A", "C"], ["I", "Z"], ["F", "I"]]) ➞ ["A", "C", "F", "I", "Z"]
find_path([["A","C"], ["A","B"], ["C","B"], ["B","A"], ["B","C"]]) ➞ ["A","B","A","C","B","C"]
# Another possible reconstruction is ["A","C","B","A","B","C"].
# But it is larger in lexical order.
find_path([["Y", "L"], ["D", "A"],["A", "D"], ["R", "Y"], ["A", "R"]]) ➞ ["A", "D", "A", "R", "Y", "L"]Observações
- Se houver vários itinerários válidos, você deverá retornar o itinerário que tenha a menor ordem lexicográfica quando lido como uma única string. Por exemplo, o itinerário
["A", "B"]tem uma ordem lexicográfica menor que["A", "C"]. - Você pode presumir que todas as passagens formam pelo menos um itinerário válido.
- É necessário usar todas as passagens uma única vez.