时间复杂度O(len1)+O(len2),线性的时间复杂度
LinkList Search_1stNode(LinkList &L1,LinkList &L2){
int len1=length(L1),len2=length(L2);
LinkList longList,shortList;
int dist;
if(len1>len2){
longList=L1->next;
shortList=L2->next;
dist=len1-len2; //记录表长之差
}else{
longList=L2->next;
shortList=L1->next;
dist=L2-L1;
}
while(dist--){
longList=longList->next;
}
while(longList!=NULL){
if(longList==shortList){
return longList;
}else{
longList=longList->next;
shortList=shortList->next;
}
}
return NULL;
}
示意图