diff --git a/problems/0332.重新安排行程.md b/problems/0332.重新安排行程.md index 041a7f03..01f81c4d 100644 --- a/problems/0332.重新安排行程.md +++ b/problems/0332.重新安排行程.md @@ -342,64 +342,6 @@ class Solution: return path ``` -### Go -```go -type pair struct { - target string - visited bool -} -type pairs []*pair - -func (p pairs) Len() int { - return len(p) -} -func (p pairs) Swap(i, j int) { - p[i], p[j] = p[j], p[i] -} -func (p pairs) Less(i, j int) bool { - return p[i].target < p[j].target -} - -func findItinerary(tickets [][]string) []string { - result := []string{} - // map[出发机场] pair{目的地,是否被访问过} - targets := make(map[string]pairs) - for _, ticket := range tickets { - if targets[ticket[0]] == nil { - targets[ticket[0]] = make(pairs, 0) - } - targets[ticket[0]] = append(targets[ticket[0]], &pair{target: ticket[1], visited: false}) - } - for k, _ := range targets { - sort.Sort(targets[k]) - } - result = append(result, "JFK") - var backtracking func() bool - backtracking = func() bool { - if len(tickets)+1 == len(result) { - return true - } - // 取出起飞航班对应的目的地 - for _, pair := range targets[result[len(result)-1]] { - if pair.visited == false { - result = append(result, pair.target) - pair.visited = true - if backtracking() { - return true - } - result = result[:len(result)-1] - pair.visited = false - } - } - return false - } - - backtracking() - - return result -} -``` - ### C语言 ```C