输入:tickets = [["MUC","LHR"],["JFK","MUC"],["SFO","SJC"],["LHR","SFO"]]
输出:["JFK","MUC","LHR","SFO","SJC"]
重点
- 环怎么出,也就是return语句
- tickets怎么映射
下面根据代码讲,测试用例如上输入输出
from collections import defaultdict
class Solution:
def findItinerary(self, tickets: List[List[str]]) -> List[str]:
ticket_dict = defaultdict(list)
for item in tickets:
ticket_dict[item[0]].append(item[1])
path = ['JFK']
def backtracking(startIndex):
if len(path) == len(tickets) + 1:
return True
ticket_dict[startIndex].sort()
for _ in ticket_dict[startIndex]:
end_point = ticket_dict[startIndex].pop(0)
path.append(end_point)
if backtracking(end_point):
return True
path.pop()
ticket_dict[startIndex].append(end_point)
backtracking('JFK')
return path