Monday, May 6, 2013

Leetcode: Merge Two Sorted Lists in C++

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:
ListNode *mergeTwoLists(ListNode *l1, ListNode *l2) {
        ListNode* head = new ListNode(0);  
        ListNode* cur = head;  
        while (l1&& l2) {  
     if (l1->val <= l2->val) {  
       cur->next = l1;  
       l1 = l1->next;  
     } else {  
       cur->next = l2;  
       l2 = l2->next;  
     }  
     cur = cur->next;  
   }  
   if (l1) {  
     cur->next = l1;  
   } else {  
     cur->next = l2;  
   }  
   return head->next;  
    }

No comments:

Post a Comment