链接:LeetCode841
过程:略
思路:搜索,dfs,bfs
代码:
class Solution {
List<List<Integer>> rooms=null;
boolean[] vis=null;
int num=0;
public boolean canVisitAllRooms(List<List<Integer>> rooms) {
if(rooms==null)return true;
this.rooms=rooms;
this.vis=new boolean[rooms.size()];
Arrays.fill(vis,false);
dfs(0);
return num==rooms.size();
}
public void dfs(int i){
num++;
vis[i]=true;
for(int j=0;j<rooms.get(i).size();j++){
if(!vis[rooms.get(i).get(j)])dfs(rooms.get(i).get(j));
}
}
}