【DFS】841. Keys and Rooms


class Solution {
public:
    void dfs(int pos,vector<bool> &flag,vector<vector<int>>& rooms)
    {
        flag[pos]=true;
        for(int i = 0;i<rooms[pos].size();i++)
        {
            if(!flag[rooms[pos][i]])
                dfs(rooms[pos][i],flag,rooms);
        }
    }
    bool canVisitAllRooms(vector<vector<int>>& rooms)
    {
        vector<bool> flag(rooms.size(),false);
        dfs(0,flag,rooms);
        for(int i=0;i<rooms.size();i++)
            if(!flag[i])
                return false;
        return true;
    }
};

猜你喜欢

转载自blog.csdn.net/leetcodecl/article/details/80600495