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
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 res(INT_MIN); 13 ListNode *p=&res; 14 while(l1&&l2){ 15 if(l1->val>l2->val){ 16 p->next=l2; 17 l2=l2->next; 18 }else{ 19 p->next=l1; 20 l1=l1->next; 21 } 22 p=p->next; 23 } 24 p->next=l1?l1:l2; 25 return res.next; 26 } 27 };
时间: 2024-12-22 12:46:27