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.
思路:增加一个头指针,依次加入l1,l2首元素中值小的元素
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 ListNode *head; 13 head->next=NULL; 14 ListNode *p=head; 15 while(l1!=NULL&&l2!=NULL) 16 { 17 if(l1->val<l2->val) 18 { 19 p->next=l1; 20 l1=l1->next; 21 } 22 else 23 { 24 p->next=l2; 25 l2=l2->next; 26 } 27 p=p->next; 28 } 29 if(l1!=NULL) 30 p->next=l1; 31 if(l2!=NULL) 32 p->next=l2; 33 return head->next; 34 } 35 };