one line of code at a time

[leetcode] 841. Keys and Rooms 파이썬 코드 본문

leetcode

[leetcode] 841. Keys and Rooms 파이썬 코드

oloc 2024. 9. 24. 21:39

https://leetcode.com/problems/keys-and-rooms/

 

class Solution:
    def canVisitAllRooms(self, rooms: List[List[int]]) -> bool:
        keySet = set()
        keySet.add(0)
        visitedRooms = set()
        
        def dfs(currRoom, keySet):
            if currRoom not in keySet:
                return False
            visitedRooms.add(currRoom)
            for k in rooms[currRoom]:
                if k in visitedRooms:
                    continue
                keySet.add(k)
                dfs(k, keySet)
        
        dfs(0, keySet)
        print(keySet)
        print(visitedRooms)

        if len(rooms) == len(visitedRooms):
            return True
        else:
            return False