Skip to content
On this page

链表相交

力扣题目链接(opens new window)

给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。

图示两个链表在节点 c1 开始相交:

题目数据 保证 整个链式结构中不存在环。

注意,函数返回结果后,链表必须 保持其原始结构 。

示例 1:

示例 2:

示例 3:

思路

  • 用两个指针,分别遍历两个链表两次,一个指针从链表1开始,另一个指针从链表2开始,当走到null时,切换到另外一个链表头继续遍历。到最后如果能走到同个结点,说明存在相交结点。
  • 先获取两个链表的长度,先遍历掉多的部分,再两个链表同时遍历,看是否能找到相交结点。

代码

双指针