141环形链表[Python常见问题]

# 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:
fast,slow = head,head
# 注意这里的条件,一定要slow,fast,写在前面。
while slow and fast and fast.next:
fast = fast.next.next
slow = slow.next
if fast == slow:
return True
else:return False
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 141环形链表