https://leetcode.com/problems/linked-list-cycle/description/?envType=study-plan-v2&envId=top-interview-150

def hasCycle(self, head: Optional[ListNode]) -> bool:
	if not head: return False
  slow, fast = head, head.next

  while fast and fast.next:
	  if slow == fast: return True
    slow = slow.next
    fast = fast.next.next

  return False

$Time = O(N)$