Saturday, September 20, 2014

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.


 /**  
  * Definition for singly-linked list.  
  * struct ListNode {  
  *   int val;  
  *   ListNode *next;  
  *   ListNode(int x) : val(x), next(NULL) {}  
  * };  
  */  

   ListNode *mergeTwoLists(ListNode *l1, ListNode *l2) {  
     if(l1 == NULL)return l2;  
     if(l2 == NULL)return l1;  
     ListNode *newHead = l1->val<=l2->val?l1:l2;  
     if(l1->val <= l2->val)  
     {  
       l1->next = mergeTwoLists(l1->next,l2);  
     }  
     else  
     {  
       l2->next = mergeTwoLists(l2->next, l1);  
     }  
     return newHead;  
   }  

No comments:

Post a Comment