a, and the meeting point is b nodes into the cycle. When they meet, slow has traveled a + b, and fast has traveled 2(a + b). The extra distance fast traveled is exactly the cycle length. This means moving a more steps from the meeting point brings us back to the cycle start.nums[i] points to the next node.fast and fast.next before advancing to avoid null pointer errors.