从前往后Merge,时间O(1),空间O(n)。代码如下:
class Solution {
public:
ListNode *mergeTwoLists(ListNode *l1, ListNode *l2) {
ListNode dummy(-1);
ListNode *cur = &dummy;
while(l1 && l2)
{
if(l1->val > l2->val) cur->next = l2, cur = l2, l2 = l2->next;
else cur->next = l1, cur = l1, l1 = l1->next;
}
if(l1) cur->next = l1;
if(l2) cur->next = l2;
return dummy.next;
}
};