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;
    }
};
相关推荐
懒洋洋大魔王12 分钟前
算法的简单介绍
数据结构·算法·排序算法
Y.O.U..23 分钟前
算法-二进制和位运算
c++·算法
ephemerals__23 分钟前
【数据结构进阶】AVL树深度剖析 + 实现(附源码)
数据结构·算法
武昌库里写JAVA1 小时前
金三银四,Java面试视频资料分享
c语言·开发语言·数据结构·算法·二维数组
_extraordinary_2 小时前
LeetCode刷题 -- 字符串
算法·leetcode·职场和发展
xiao_yuzaijia3 小时前
第十四周:支持向量机(SVM)
算法·机器学习·支持向量机
芒果爱编程6 小时前
MCU、ARM体系结构,单片机基础,单片机操作
开发语言·网络·c++·tcp/ip·算法
再不会python就不礼貌了6 小时前
震撼!最强开源模型通义千问2.5 72B竟在4GB老显卡上成功运行!
人工智能·算法·机器学习·chatgpt·产品经理
测试界萧萧8 小时前
15:00面试,15:06就出来了,问的问题有点变态。。。
自动化测试·软件测试·功能测试·程序人生·面试·职场和发展
工业甲酰苯胺9 小时前
C语言之输入输出
c语言·c++·算法