尝试在链表中查找循环会导致:
AttributeError: NoneType object has no attribute next
在线
p = head.next
问题:为什么会这样?
说明: 给定一个链表,确定其中是否有循环。
要表示给定链表中的循环,我们使用整数pos
来表示尾部连接到的链表中位置(0-indexed)
。如果pos
是-1
,则链接列表中没有循环。
# 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, pos):
"""
:type head: ListNode
:type pos: int
:rtype: bool
"""
if pos == -1:
return False
p = head
while True:
head = head.next
p = head.next
if head == p:
return True