首页 > 代码库 > LeetCode:Merge Two Sorted Lists

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.

思路:增加一个头指针,依次加入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                 else23                 {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 };

 

LeetCode:Merge Two Sorted Lists