class ListNode: def __init__(self, x): self.val = x self.next = None# 快慢指針的做法,定義兩個指針,一個走一步,一個走兩步# 如果他們不相遇的話,那就是沒有環,如果在某一時刻相遇,# 就說明是有環的。class Solution: ...
class ListNode:
def __init__(self, x):
self.val = x
self.next = None
# 快慢指針的做法,定義兩個指針,一個走一步,一個走兩步
# 如果他們不相遇的話,那就是沒有環,如果在某一時刻相遇,
# 就說明是有環的。
class Solution:
def hasCycle(self, head: ListNode) -> bool:
# 定義快慢指針都指向頭部指針
low,fast = head,head
# 這樣可以很快速的判斷是否有環
while low and fast and fast.next:
# 慢指針走一步,快指針走兩步
low = low.next
fast = fast.next.next
# 快慢指針相遇,返回真
if low == fast:
return True
return False