841. Keys and Rooms
Solution
Traversal room by DFS/BFS and see it all the room is traversed.
public boolean canVisitAllRooms(List<List<Integer>> rooms) {
int N = rooms.size();
boolean[] isVisited = new boolean[N];
dfs(rooms, isVisited, 0);
for(boolean b : isVisited){
if(!b) return false;
}
return true;
}
public void dfs(List<List<Integer>> rooms, boolean[] isVisited, int i){
if(isVisited[i]) return;
isVisited[i] = true;
for(int room : rooms.get(i)){
dfs(rooms, isVisited, room);
}
}
Last updated
Was this helpful?