算法思想:寻找公共元素,即寻找两个链表中值相等的元素,默认链表有序,只需要遍历比较即可,详见代码
LinkList Get_Common(LinkList A,LinkList B){
if(A->next==NULL||B->next==NULL) //链表为空返回
return NULL;
LinkList C;
C=(LinkList)malloc(sizeof(LNode)); //分配C链表头结点
C->next=NULL; //头指针置空
LinkList pc=C;
LinkList pa=A->next;
LinkList pb=B->next;
while(pa&&pb){
if(pa->data==pb->data){ //找到公共节点
LNode *s=(LinkList)malloc(sizeof(LNode));
s->data=pa->data;
pc->next=s; //采用尾插法建立链表
pc=s;
pa=pa->next;
pb=pb->next;
}else if(pa->data>pb->data){
pb=pb->next;
}else{
pa=pa->next;
}
}
pc->next==NULL; //尾指针置空
return C;
}