题目描述:
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.
直接贴答案了。
solution:
struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {} }; ListNode *mergeTwoLists(ListNode *l1, ListNode *l2) { ListNode *p1 = l1, *p2 = l2; ListNode *head = new ListNode(0); ListNode *p = head; while(p1 != NULL && p2 != NULL) { if (p1->val <= p2->val) { p->next = p1; p1 = p1->next; } else { p->next = p2; p2 = p2->next; } p = p->next; } if(p1 != NULL) p->next = p1; if(p2 != NULL) p->next = p2; return head->next; }
原文:http://www.cnblogs.com/gattaca/p/4359877.html