https://leetcode.com/problems/keys-and-rooms/description/
题目大意:给你n个房间,每个房间里有一些钥匙,你在房间0,问能不能去到所有的房间。
解题思路:直接搜索一下就好了
class Solution { public boolean canVisitAllRooms(List<List<Integer>> rooms) { int n = rooms.size(); int[] a= new int[n]; a[0] = 1; int cnt =1; Queue<Integer> qt= new LinkedList<>(); for(int i=0;i<rooms.get(0).size();i++) { if( a[rooms.get(0).get(i)] ==0) { qt.offer(rooms.get(0).get(i)); a[rooms.get(0).get(i)] = 1; cnt++; } } while(!qt.isEmpty()) { int tmp = qt.poll(); for(int i=0;i<rooms.get(tmp).size();i++) { int m = rooms.get(tmp).get(i); if( a[m] ==0) { a[m]=1; cnt++; qt.offer(m); } } } if(cnt==n) return true; return false; } }