Description
Given head, the head of a linked list, determine if the linked list has a cycle in it. There is a cycle in a linked list if there is some node in the list that can be reached again by continuously following the next pointer. Return true if there is a cycle, otherwise return false.
Examples
Input:
head = [3,2,0,-4], pos = 1Output:
trueExplanation:
There is a cycle where the tail connects to the 1st node.
Input:
head = [1,2], pos = 0Output:
trueExplanation:
There is a cycle where the tail connects to the 0th node.
Input:
head = [1], pos = -1Output:
falseExplanation:
There is no cycle in the linked list.
Constraints
- •
The number of nodes in the list is in the range [0, 10⁴] - •
-10⁵ ≤ Node.val ≤ 10⁵ - •
pos is -1 or a valid index in the linked list.