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.

 

 

 

 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         if(l1==NULL)return l2;
13         if(l2==NULL)return l1;
14         
15         ListNode *ret=NULL;
16         if(l1->val<l2->val)
17         {
18             ret=l1;
19             ret->next=mergeTwoLists(l1->next,l2);
20         }else
21         {
22             ret=l2;
23             ret->next=mergeTwoLists(l1,l2->next);
24         }
25         
26         return ret;
27         
28     }
29 };

 

posted on 2015-04-21 15:40  黄瓜小肥皂  阅读(144)  评论(0编辑  收藏  举报