思路1:使用辅助集合,遍历过程中,如果遇到重复出现,既为第一个公共节点
注意:
1、指针为空,代表链表遍历结束
2、此方法也可以用来判断带环链表的入口位置
class Solution:
def FindFirstCommonNode(self , pHead1 , pHead2 ):
if not pHead1 or not pHead2:
return
node_set = set()
p1, p2 = pHead1, pHead2
while p1:
node_set.add(p1)
p1 = p1.next
while p2:
if p2 in node_set:
return p2
p2 = p2.next
return