# Problem Definition

## Description

Given a linked list, return the node where the cycle begins. If there is no cycle, return null.

Try solving it using constant additional space.

Example :

```plaintext
Input :

                  ______
                 |     |
                 \/    |
        1 -> 2 -> 3 -> 4

Return the node corresponding to node 3.
```

## Notes

1. [SO post](https://stackoverflow.com/questions/494830/how-to-determine-if-a-linked-list-has-a-cycle-using-only-two-memory-locations)
1. [Stephen Ostermiller blog](https://blog.ostermiller.org/find-loop-singly-linked-list)
1. [LeetCode discussion](https://discuss.leetcode.com/topic/12516/o-1-space-solution)