环形链表
给定一个链表,判断链表中是否有环。
为了表示给定链表中的环,我们使用整数 pos
来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos
是 -1
,则在该链表中没有环。
代码思路:
只要存在环,那么遍历的指针就不会指向None,设置俩个快慢指针 ,成环的时候就可以追上来。注意判断停止条件,因为一个指向None的指针是没有next的。
# Definition for singly-linked list. # class ListNode(object): # def __init__(self, x): # self.val = x # self.next = None class Solution(object): def hasCycle(self, head): fast = slow = head while slow and fast and fast.next: slow = slow.next fast = fast.next.next if fast == slow: return True return False