''' 解题思路: 遍历单链表的每个结点 如果当前结点地址没有出现在set中,则存入set中 否则,出现在set中,则当前结点就是环的入口结点 整个单链表遍历完,若没出现在set中,则不存在环 ''' # -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: def EntryNodeOfLoop(self, pHead): # write code here if not pHead or not pHead.next: return None visited = set() while pHead: if pHead not in visited: visited.add(pHead) pHead = pHead.next else: return pHead return None