0%

LeetCode-841

题目

结果

代码

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 the room has been visited
if (flag[n]) {
continue;
}
visit(rooms, n);
}
}
}

复杂度

时间复杂度:O(rooms的元素个数)

空间复杂度:O(房间个数)