leetcode 841.钥匙和房间

1.题目要求:

2.解题思路:

利用图的深度优先搜索进行遍历

3.解题代码:

cpp 复制代码
class Solution {
public:
    void VisitAllRooms(int v_index,vector<vector<int>>&rooms,vector<bool>& visited){
        //把每一次设立的结点都立标志
        visited[v_index] = true;
        for(int j = 0;j < rooms[v_index].size();j++){
            //如果结点使用过,就不需要再进行遍历了
            if(visited[rooms[v_index][j]] != true){
                int index = rooms[v_index][j];
                VisitAllRooms(index,rooms,visited);
            }
        }
    }
    bool canVisitAllRooms(vector<vector<int>>& rooms) {
        //设立数组为给已经遍历的结点设立标志
        vector<bool> visited;
        visited.resize(rooms.size(),false);
        int v_index = 0;
        //进行深度优先遍历
        VisitAllRooms(v_index,rooms,visited);
        for(int i = 0;i < visited.size();i++){
            if(visited[i] == false){
                return false;
            }
        }
        return true;
    }
};
相关推荐
代码游侠10 小时前
应用——MQTT客户端开发
服务器·c语言·开发语言·数据结构·算法
蓝天下的守望者10 小时前
由continue引发的一个debug灾难
算法·systemverilog
明洞日记11 小时前
【VTK手册034】 vtkGeometryFilter 深度解析:高性能几何提取与转换专家
c++·图像处理·算法·ai·vtk·图形渲染
额呃呃11 小时前
operator new/delete
开发语言·c++·算法
hweiyu0011 小时前
二分图匹配算法:匈牙利算法
算法
坚持学习前端日记11 小时前
个人小作坊适合的项目类型分析
程序人生·职场和发展·创业创新
IAR Systems11 小时前
在IAR Embedded Workbench for Renesas RH850中实现ROPI
linux·运维·算法
一个不知名程序员www11 小时前
算法学习入门--- set与map(C++)
c++·算法
POLITE311 小时前
Leetcode 142.环形链表 II JavaScript (Day 10)
javascript·leetcode·链表
鸿途优学-UU教育11 小时前
法考命题趋势解读:为何越来越重视“实战能力”?
算法·法律·uu教育·法考机构