Merge Two Sorted List
LeetCode #21
Description:
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.
Example:
Note
Idea:
curr->next = node
node = node->next
curr = curr->next
Code:
class Solution {
public:
ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
if(l1==NULL || l2==NULL) return l1==NULL? l2 : l1;
ListNode dummy(-1);
ListNode * curr = &dummy;
while(l1!=NULL && l2!=NULL){
if(l1->val<=l2->val){
curr->next=l1;
l1=l1->next;
}
else{
curr->next=l2;
l2=l2->next;
}
curr=curr->next;
}
curr->next = l1==NULL? l2: l1;
return dummy.next;
}
};