Intuition
Classic topological order problem. Perform a topological traversal with a cycle detection. If a cycle is detected anywhere, the courses cannot be completed…return False.
The idea is with topological order is that each node recursively visits it’s dependencies (children) before visiting itself.