https://leetcode-cn.com/problems/keys-and-rooms/
class Solution {
public boolean canVisitAllRooms(List<List<Integer>> rooms) {
boolean[] flag=new boolean[rooms.size()];
flag[0]=true;
Stack<Integer> stack=new Stack<>();
for (int j=0;j<rooms.get(0).size();j++) {
stack.push(rooms.get(0).get(j));
}
while (!stack.empty()){
int now=stack.pop();
if(!flag[now]){
for (int k=0;k<rooms.get(now).size();k++) {
stack.push(rooms.get(now).get(k));
}
flag[now]=true;
}
}
for (int i=1;i<flag.length;i++){
if (flag[i]==false){
flag[0]=false;
}
}
if (flag[0]==false){
return false;
} else {
return true;
}
}
}