求两有序单链表的交集
给出两个有序单链表,求出交集
LNode *CommonList(LNode *L1,LNode *L2){
if(L1==0||L2==0)
return L1;
LNode *pa=L1->next,*r=L1;
L1->next=0;
r->data=-10000;
LNode *pb=L2->next,*q;
while(pa&&pb){
if(pa->data>pb->data)
pb=pb->next;
else if(pa->data<pb->data){
pa=pa->next;
}
else {
if(r->data!=pa->data){
r->next=pa;
r=pa;
pa=pa->next;//曾因位置放错而结果错误
r->next=0;
}
pb=pb->next;
}
}
return (LNode*)L1;
}