func canVisitAllRooms(rooms [][]int) bool {
n := len(rooms)
if n == 1 {
return true
}
color := make([]int,n)
color[0] = 1
mp := make([][]int,n)
for i,a := range rooms {
mp[i] = append(mp[i], a...)
}
dfs(0, mp, color)
for _,t := range color {
if t == 0 {
return false
}
}
return true
}
func dfs(now int, mp [][]int, color []int){
for _,t := range mp[now] {
if color[t] == 0 {
color[t] = 1
dfs(t,mp,color)
}
}
}
No.196 - LeetCode841. Keys and Rooms - 经典bfs遍历
最新推荐文章于 2025-12-03 23:35:37 发布
本文介绍了一种使用深度优先搜索(DFS)算法解决迷宫问题的方法,通过递归地探索所有可能路径来寻找从起点到终点的通路。文章详细解释了DFS算法的工作原理,并展示了如何将其应用于迷宫问题中,包括如何表示迷宫,如何进行状态跟踪以及如何避免重复访问已检查过的位置。
145

被折叠的 条评论
为什么被折叠?



