You are given a linked list that might have a cycle. If there is a cycle, return the node where the cycle begins. If not, return null. The list could have thousands of nodes. This is the classic application of Floyd's algorithm. The functional graph is the linked list structure where each node points to its next node.
I'll walk through the complete detection and cycle-start finding process. You will see both phases in action: detecting the cycle, then locating where it starts.