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.
思路:使用伪头部
class Solution { public: ListNode *mergeTwoLists(ListNode *l1, ListNode *l2) { ListNode fakehead(0); ListNode *p1 = l1; ListNode *p2 = l2; ListNode *pnew = &fakehead; while(p1 != NULL && p2 != NULL) { if(p1->val < p2->val) { pnew->next = p1; p1 = p1->next; } else { pnew->next = p2; p2 = p2->next; } pnew = pnew->next; } if(p1 != NULL) { pnew->next = p1; } if(p2 != NULL) { pnew->next = p2; } return fakehead.next; } };