Clean DFS implementation
Intuition\n Describe your first thoughts on how to solve this problem. \n\n# Approach\n Describe your approach to solving the problem. \n\n# Complexity\n- Time 
# Intuition\n<!-- Describe your first thoughts on how to solve this problem. -->\n\n# Approach\n<!-- Describe your approach to solving the problem. -->\n\n# Complexity\n- Time complexity:\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\n\n- Space complexity:\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\n\n# Code\n```\nclass Solution:\n    def arrayNesting(self, nums: List[int]) -> int:\n        ans = 0\n        visited = [False]*len(nums)\n        def dfs(index):\n            if not visited[index]:\n                visited[index] = True\n                return 1+dfs(nums[index])\n            else:\n                return 0\n            \n        for i in range(len(nums)):\n            if not visited[i]:\n                ans = max(ans,dfs(i))\n        \n        return ans\n\n```
['Python3']