Find Eventual Safe States LeetCode solution in Python
1import collections234class Solution:5def eventualSafeNodes(self, graph: list[list[int]]) -> list[int]:67n = len(graph)8ans = []910for i in range(n):11if not graph[i]:12ans.append(i)1314def loop(key, loops):1516loops.append(key)17for i in graph[key]:18if i in loops:19return False20elif i in ans:21continue22else:23r = loop(i, loops)24if r == True:25continue26else:27return False2829idx = loops.index(key)30loops.pop(idx)31return True3233for i in range(n):34loops = []35if i in ans:36continue37r = loop(i, loops)38if r == True:39ans.append(i)4041return sorted(ans)