思路: 借助dummy头指针,依次比较l1,l2即刻,注意l1,l2指针要迭代。
ListNode *mergeList(ListNode *l1, ListNode *l2) {
if (!l1 || !l2)
return !l1 ? l1 : l2;
ListNode *head = new ListNode();
ListNode *head_tmp = head;
while(l1 && l2) {
if (l1->val < l2->val) {
head->next = l1;
l1 = l1->next;
}else {
head->next = l2;
l2 = l2->next;
}
head = head->next;
}
if (!l1)
head->next = l2;
if (!l2)
head->next = l1;
return head_tmp->next;
}