1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| class Solution { private boolean[] flag;
public boolean canVisitAllRooms(List<List<Integer>> rooms) { flag = new boolean[rooms.size()]; visit(rooms, 0); return canVisit(); }
private boolean canVisit() { for (boolean b : flag) { if (!b) { return false; } } return true; }
private void visit(List<List<Integer>> rooms, int number) { flag[number] = true; for (int n : rooms.get(number)) { if (flag[n]) { continue; } visit(rooms, n); } } }
|