用快慢指针方法
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
def hasCycle(self, head: ListNode) -> bool:
if head is None:
return False
slow = head
fast = head
start = 0
while start == 0 or slow != fast:
if start == 0:
start = 1
if slow.next is not None and fast.next is not None and fast.next.next is not None:
slow = slow.next
fast = fast.next.next
else: return False
return True