mirror of
https://github.com/halfrost/LeetCode-Go.git
synced 2025-07-07 01:44:56 +08:00
19 lines
383 B
Go
19 lines
383 B
Go
package leetcode
|
|
|
|
func canVisitAllRooms(rooms [][]int) bool {
|
|
visited := make(map[int]bool)
|
|
visited[0] = true
|
|
dfsVisitAllRooms(rooms, visited, 0)
|
|
return len(rooms) == len(visited)
|
|
}
|
|
|
|
func dfsVisitAllRooms(es [][]int, visited map[int]bool, from int) {
|
|
for _, to := range es[from] {
|
|
if visited[to] {
|
|
continue
|
|
}
|
|
visited[to] = true
|
|
dfsVisitAllRooms(es, visited, to)
|
|
}
|
|
}
|