题目
检测链表环的存在。
思路
设立一个快指针和一个慢指针,快指针一次走一步,慢指针一次走两步。快慢指针第一次相遇时,一定在环中的节点上。
代码
class Node:
def __init__(self, data, next=None):
self.data = data
self.next = next
def has_cycle(head):
'''链表中环的检测'''
slow, fast = head, head
while fast and fast.next:
slow = slow.next
fast = fast.next.next
if slow == fast:
return True
return False