We use cookies for site analytics. Accept to help us understand how the site is used. See our Privacy Policy for details.
An easy linked list problem, graded against 8 test cases (5 of them hidden).
Pointer manipulation - reversal, cycle detection, and merging without extra space.
Reach for it when you see: Any problem handing you a list head, especially with an O(1) space constraint.
More Linked Listproblems →Since the linked list is represented as an array with a `pos` parameter, a cycle exists if and only if `pos >= 0` and the list has nodes.
In a real linked list implementation, you would use Floyd's cycle detection algorithm (tortoise and hare): use two pointers moving at different speeds. If they meet, there's a cycle.
Floyd's Algorithm (for reference):
- Slow pointer moves 1 step at a time, fast pointer moves 2 steps.
- If there's a cycle, they will eventually meet.
- Time: O(n), Space: O(1).
The full reference solution in every supported language stays in the editor above - reveal it there once you have had a real attempt.
Read off this problem's own test suite, so these are the cases a submission actually has to survive.
These apply to the pattern as a whole, not just this problem.