struct ListNode* mergeTwoLists(struct ListNode* l1, struct ListNode* l2){ struct ListNode* head = (struct ListNode*)calloc(sizeof(struct ListNode),1); struct ListNode* p = head; while(l1 && l2) { struct ListNode* temp = (struct ListNode*)calloc(sizeof(struct ListNode),1); if(l1->val <= l2->val) { temp->val = l1->val; l1 = l1->next; } else { temp->val = l2->val; l2 = l2->next; } p->next = temp; p = p->next; } p->next = (l1)? l1: l2; return head->next; }
原文:https://www.cnblogs.com/ganxiang/p/13694116.html