方法一:dfs
class Solution {
public:
bool canVisitAllRooms(vector<vector<int>>& rooms) {
vector<bool> seen(rooms.size(),false);
seen[0]=true;
stack<int> st;
st.push(0);
while(!st.empty()){
int node=st.top();
st.pop();
for(auto ne:rooms[node]){
if(!seen[ne]){
seen[ne]=true;
st.push(ne);
}
}
}
for(auto v:seen){
if(!v)
return false;
}
return true;
}
};