public class Solution {
public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
if(headA==null||headB==null){
return null;
}
ListNode pl =headA;
ListNode ps=headB;
int len1=0;
while(pl!=null){
len1++;
pl=pl.next; //走到了末尾,为空
}
int len2=0;
while(ps!=null){
len2++;
ps=ps.next;}
int len=len1-len2;
pl=headA;
ps=headB;
if(len<0){
pl=headB;
ps=headA;
len=len2-len1;
}
while(len>0){
pl=pl.next;
len--;
}
while(pl!=ps&&pl!=null&&ps!=null){
pl=pl.next;
ps=ps.next;
}
if(pl==ps&&pl!=null){
return pl;
}
return null;
}
}
找出两个链表的第一个公共结点
最新推荐文章于 2022-12-09 17:46:12 发布