diff --git a/problems/0332.重新安排行程.md b/problems/0332.重新安排行程.md index 90756d7d..84147532 100644 --- a/problems/0332.重新安排行程.md +++ b/problems/0332.重新安排行程.md @@ -355,16 +355,18 @@ class Solution: tickets_dict = defaultdict(list) for item in tickets: tickets_dict[item[0]].append(item[1]) + # 给每一个机场的到达机场排序,小的在前面,在回溯里首先被pop(0)出去 + # 这样最先找的的path就是排序最小的答案,直接返回 + for airport in tickets_dict: tickets_dict[airport].sort() ''' tickets_dict里面的内容是这样的 - {'JFK': ['SFO', 'ATL'], 'SFO': ['ATL'], 'ATL': ['JFK', 'SFO']}) + {'JFK': ['ATL', 'SFO'], 'SFO': ['ATL'], 'ATL': ['JFK', 'SFO']}) ''' path = ["JFK"] def backtracking(start_point): # 终止条件 if len(path) == len(tickets) + 1: return True - tickets_dict[start_point].sort() for _ in tickets_dict[start_point]: #必须及时删除,避免出现死循环 end_point = tickets_dict[start_point].pop(0)