C语言 方法一般
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
struct ListNode* mergeTwoLists(struct ListNode* l1, struct ListNode* l2){
struct ListNode* l3=(struct ListNode*)malloc(sizeof(struct ListNode)*2000);
struct ListNode* pc=l3;
struct ListNode* pa=l1;
struct ListNode* pb=l2;
while(pa&&pb)
{
if(pa->val<=pb->val){
pc->next=pa;
pc=pa;
pa=pa->next;
}
else{
pc->next=pb;
pc=pb;
pb=pb->next;
}
}
pc->next=pa?pa:pb;
return l3->next;
}