mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 19:44:45 +08:00
Revert "Merge branch 'youngyangyang04:master' into master"
This reverts commit 33be177e63bc622c4e1e67d9e268bc13d4d5ba54, reversing changes made to 559f03c92869ca55ae929d66de872f5ddda70567.
This commit is contained in:
@ -342,64 +342,6 @@ class Solution:
|
|||||||
return path
|
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语言
|
||||||
|
|
||||||
```C
|
```C
|
||||||
|
Reference in New Issue
Block a user