leetcode841钥匙和房间

发布时间 2023-09-12 13:55:35作者: iu本u
  • 使用深度优先遍历构造的图,只要访问过就标记已访问
int num=0;
vector<bool>vis;
void dfs(vector<vector<int>>& rooms,int x){
    vis[x]=true;
    num++;
    for(auto& v:rooms[x]){
        if(!vis[v])dfs(rooms,v);//说明这个房间没有进去过,所以可以访问
    }
}
int main(){
    vis.resize(rooms.size(),false);//初始化vis
    dfs(rooms,0);//0节点开始遍历
    if(num==rooms.size())return true;
    return false;
}