给定一个包含 n 个房间的列表 rooms,rooms[i] 是一个整数数组,表示打开房间 i 后可以拿到的钥匙能进入的房间编号。初始时只有房间 0 是打开的,如果所有房间都能被访问到则返回 true,否则返回 false。请编写代码实现该功能,并说明思路与复杂度。
考察说明
考察图的遍历能力、从起点到达所有节点的判断,以及 DFS/BFS 的算法实现与复杂度分析
回答思路
- 理解建模为有向图,节点为房间,边为钥匙指向
- 正确使用 visited 集合避免重复访问
- 能写出正确的 DFS 或 BFS 遍历代码
- 能正确判断所有房间是否可达并返回对应布尔值
- 能清晰说明时间复杂度和空间复杂度
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。