LeetCode:Merge Two Sorted Lists
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.
1 /** 2 * Definition for singly-linked list. 3 * struct ListNode { 4 * int val; 5 * ListNode *next; 6 * ListNode(int x) : val(x), next(NULL) {} 7 * }; 8 */ 9 class Solution { 10 public: 11 ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { 12 if(l1==NULL) return l2; 13 if(l2==NULL) return l1; 14 ListNode dummy(-1); 15 ListNode *p=&dummy; 16 while(l1!=NULL&&l2!=NULL) 17 { 18 if(l1->val<l2->val) 19 { 20 p->next=l1; 21 l1=l1->next; 22 23 } 24 else 25 { 26 p->next=l2; 27 l2=l2->next; 28 } 29 p=p->next; 30 31 } 32 33 l1==NULL?p->next=l2:p->next=l1; 34 return dummy.next; 35 36 } 37 };