/**
* A LinkedList based solution for Detecting a Cycle in a list.
* https://en.wikipedia.org/wiki/Cycle_detection
*/
function detectCycle(head) {
/*
Problem Statement:
Given head, the head of a linked list, determine if the linked list has a cycle in it.
Link for the Problem: https://leetcode.com/problems/linked-list-cycle/
*/
if (!head) {
return false
}
let slow = head
let fast = head.next
while (fast && fast.next) {
if (fast === slow) {
return true
}
fast = fast.next.next
slow = slow.next
}
return false
}
export { detectCycle }