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;
}
}