AcWing 66. 两个链表的第一个公共结点
原题链接
输入两个链表,找出它们的第一个公共结点。
当不存在公共节点时,返回空节点。
数据范围
链表长度 [1,2000]。
代码案例:
题解
类似追及相遇问题
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) {
* val = x;
* next = null;
* }
* }
*/
class Solution {
public ListNode findFirstCommonNode(ListNode headA, ListNode headB) {
ListNode p1 = headA ;
ListNode p2 = headB;
while(p1 != p2){
if(p1 != null) p1 = p1.next;
else p1 = headB;
if(p2 != null) p2 = p2.next;
else p2 = headA;
}
return p1 ;
}
}