List p2=L2->Next;
List m=(List)malloc(sizeof(struct Node));
m->Next=NULL;
List p3=m;
while(p1&&p2){
if(p1->Data<p2->Data){
p3->Next=p1;
p1=p1->Next;
}
else{
p3->Next=p2;
p2=p2->Next;
}
p3=p3->Next;
}
if(p1)
p3->Next=p1;
if(p2)
p3->Next=p2;
L1->Next=NULL;
L2->Next=NULL;
return m;
}
在了解栈和队列和线性表后,写了PAT 02-线性结构1 两个有序链表序列合并。一开始尝试自己写但没有通过,也找不出思路。后来从网上查看参考别人代码,再尝试自己重写一遍代码。自己写时没有将m头节点赋给一个新的结构指针,导致头节点丢失,m->Next在遍历过程中被改写了,所以最后返回的链表m是错误的不完整的。所以正确写法如上。