mirror of
https://github.com/CyC2018/Interview-Notebook.git
synced 2026-10-31 02:53:42 +00:00
Update 52. 两个链表的第一个公共结点.md
补充双指针遍历节点数的说明,并补充两链表不相交时的循环结束条件与返回值说明。
This commit is contained in:
@@ -10,7 +10,7 @@
|
||||
|
||||
设 A 的长度为 a + c,B 的长度为 b + c,其中 c 为尾部公共部分长度,可知 a + c + b = b + c + a。
|
||||
|
||||
当访问链表 A 的指针访问到链表尾部时,令它从链表 B 的头部重新开始访问链表 B;同样地,当访问链表 B 的指针访问到链表尾部时,令它从链表 A 的头部重新开始访问链表 A。这样就能控制访问 A 和 B 两个链表的指针能同时访问到交点。
|
||||
当访问链表 A 的指针访问到链表尾部时,令它从链表 B 的头部重新开始访问链表 B;同样地,当访问链表 B 的指针访问到链表尾部时,令它从链表 A 的头部重新开始访问链表 A。这样两个指针都经过 a + c + b 个节点后同时到达交点。如果两个链表不相交,两个指针各自走完两个链表后同时变为 null,循环结束,返回 null。
|
||||
|
||||
```java
|
||||
public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
|
||||
|
||||
Reference in New Issue
Block a user