判断一个链表中是否有环存在,用集合set来存储
# 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):
"""
:type head: ListNode
:rtype: bool
"""
visited = set()
node = head
while node is not None:
if node in visited:
return True
else:
visited.add(node)
node = node.next
return False
还可以用快慢指针来判断,如果两指针会相交说明有环存在