Closed SongGwanSeok closed 3 weeks ago
https://leetcode.com/problems/keys-and-rooms/description/
class Solution {
public:
bool canVisitAllRooms(vector<vector<int>>& rooms) {
vector<bool> visited(rooms.size(), false);
deque<int> q;
q.push_back(0);
while(!q.empty()){
int now = q.front();
q.pop_front();
visited[now] = true;
vector<int> keys = rooms[now];
for(int key: keys){
if(!visited[key]){
q.push_back(key);
}
}
}
for(bool v: visited){
if(!v){
return false;
}
}
return true;
}
};
class Solution {
public:
void dfs(vector<vector<int>>& rooms, vector<bool>& visited, int now){
visited[now] = true;
vector<int> keys = rooms[now];
for(int key: keys){
if(!visited[key]){
dfs(rooms, visited, key);
}
}
}
bool canVisitAllRooms(vector<vector<int>>& rooms) {
vector<bool> visited(rooms.size(), false);
dfs(rooms, visited, 0);
for(bool v: visited){
if(!v){
return false;
}
}
return true;
}
};
📝 Description
무엇을? 11번째
왜?
❗️Todo
ETC
기타사항