Linked List Cycle II

Try to solve the Linked List Cycle II problem.

Statement

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

A cycle exists in a linked list if there is some node in the list that can be reached again by continuously following the next pointer. Internally, pos denotes the node’s index to which the tail’s next pointer is connected.

Constraints:

  • The number of the nodes in the list is in the range [0,104][0, 10^4].

  • −105≤-10^5 \leq Node.val ≤105\leq 10^5

  • pos is -11 or a valid index in the linked list.

Note: The pos parameter isn’t passed as a parameter.

Examples