CP106 · 两个链表的第一个公共结点

简单链表核心代码模式双指针时限 1000 ms(参考)
题目描述

两个单链表 A、B 可能在某个结点开始合并为同一条链(此后所有结点相同)。返回它们的第一个公共结点;若不相交返回空。注意判断的是结点身份而非结点值。本题为「核心代码模式」:模板已内置链表构建与输出脚手架,只需补全指定函数。要求空间复杂度 O(1)。

输入描述

共六行:第一行整数 a(1 ≤ a ≤ 10^5),第二行 a 个整数为 A 独有段;第三行整数 b(1 ≤ b ≤ 10^5),第四行 b 个整数为 B 独有段;第五行整数 c(0 ≤ c ≤ 10^5),第六行 c 个整数为公共尾段(c = 0 时该行为空,表示不相交)。所有结点值互不相同。

输出描述

一行,第一个公共结点的值;不相交输出 null。