class ListNode{
int key;
ListNode next;
}
public class listCommonNode {
public static ListNode comNode(ListNode head1,ListNode head2){
int len1=GetLen(head1);
int len2=GetLen(head2);
int Sublen=len1-len2;
ListNode longList=head2;
ListNode shortList=head1;
if(Sublen>0){
longList=head1;
shortList=head2;
}
//长链表先走几步
for(int i=0;i<Math.abs(Sublen);i++){
longList=longList.next;
}
while(longList!=shortList&&longList!=null&&shortList!=null){
longList=longList.next;
shortList=shortList.next;
}
return longList;
}
public static int GetLen(ListNode head){
int length=0;
ListNode node=head;
while(node!=null){
length++;
node=node.next;
}
return length;
}
}
两个链表的第一个公共结点
最新推荐文章于 2022-07-06 18:10:39 发布