Given the head of a singly linked list, determine if the list contains a loop, where a loop exists if a node’s next pointer points back to a previous node, creating a circular structure; otherwise, the list ends with a null pointer.
The input includes the linked list and a 1-based position (pos) indicating the node to which the last node connects, forming a loop (if pos = 0, there is no loop). Return true if a loop is detected, otherwise return false.
Example 1
Input: LinkedList: 2 -> 4 -> 6 -> 8 -> 4
Output: true
Explanation: The last node connects back to the second node, forming a loop.
Example 2
Input: LinkedList: 1 -> 2 -> 3 -> 4
Output: false
Explanation: The last node points to null, indicating there is no loop.
Sign in to write, run, and submit your solution against the full test suite.