bfs水题, 可以练一下切片的使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
func findWhetherExistsPath(n int, graph [][]int, start int, target int) bool {
edge := make([][]int, n)
vis := make([]bool, n)
size := len(graph)
for i := 0 ; i < size; i++ {
edge[graph[i][0]] = append(edge[graph[i][0]], graph[i][1])
}
q := make([]int, 0)
q = append(q, start)
for len(q) > 0 {
tmp := q[0]
q = q[1:]
vis[tmp] = true
if tmp == target {
return true
}
for i := 0 ; i < len(edge[tmp]); i++ {
if(vis[edge[tmp][i]] == false) {
q = append(q, edge[tmp][i])
}
}
}
return false
}