请教下合并链表的算法
LNode* magrelist(LNode *la,LNode *lb,LNode *lc){
LNode *l1,*l2;
l1=la;
l2=lb;
while((l1->next!=NULL)||(l2->next!=NULL)!=NULL)
{
if(l1->data>l2->data)
{
lc->next=l1;
lc=l1;
l1=l1->next;
}
else if(l1->data==l2->data)
{
lc->next=l1;
lc=l1;
l1=l1->next;l2=l2->next;
}
else
{
lc->next=l2;
lc=l2;
l2=l2->next;
}
}
return lc;
}
这个算法错在哪里呢?