题目:输入两个递增排序的链表,合并这两个链表。
思路:使用递归
#include"linklist.h"
pnode merge(pnode head1,pnode head2)
{
if(head1==NULL) return head2;
else if(head2==NULL) return head1;
pnode mernode=NULL;
if((head1->value)<(head2->value))
{
mernode=head1;
mernode->next=merge(head1->next,head2);
}
else
{
mernode=head2;
mernode->next=merge(head1,head2->next);
}
return mernode;
}
int main()
{
pnode head1=getlist();
pnode head2=getlist();
pnode merhead=merge(head1,head2);
prtlist(merhead);
return 0;
}
引用:剑指Offer(何海涛著)