841.Keys and Rooms
My codePermalink
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from typing import List
from collections import deque
class Solution:
def canVisitAllRooms(rooms: List[List[int]]) -> bool:
visited = {0: True}
q = deque()
q.append(rooms[0])
while q:
for _ in range(len(q)):
keys = list(q.popleft())
for k in keys:
if k not in visited:
q.append(rooms[k])
visited[k] = True
for i in range(len(rooms)):
if i not in visited:
return False
return True