- 定义两个指针, 第一轮让两个到达末尾的节点指向另一个链表的头部, 最后如果相遇则为交点(在第一轮移动中恰好抹除了长度差)
- 两个指针等于移动了相同的距离, 有交点就返回, 无交点就是各走了两条指针的长度
# -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: def FindFirstCommonNode(self, pHead1, pHead2): # write code here a = pHead1 b = pHead2 while a != b: a = a.next if a else pHead2 b = b.next if b else pHead1 return a