Find Eventual Safe States LeetCode solution in Python

1
import collections
2

3

4
class Solution:
5
def eventualSafeNodes(self, graph: list[list[int]]) -> list[int]:
6

7
n = len(graph)
8
ans = []
9

10
for i in range(n):
11
if not graph[i]:
12
ans.append(i)
13

14
def loop(key, loops):
15

16
loops.append(key)
17
for i in graph[key]:
18
if i in loops:
19
return False
20
elif i in ans:
21
continue
22
else:
23
r = loop(i, loops)
24
if r == True:
25
continue
26
else:
27
return False
28

29
idx = loops.index(key)
30
loops.pop(idx)
31
return True
32

33
for i in range(n):
34
loops = []
35
if i in ans:
36
continue
37
r = loop(i, loops)
38
if r == True:
39
ans.append(i)
40

41
return sorted(ans)

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0