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

 

posted on 2015-04-26 17:47  何氏小萌  阅读(116)  评论(0)    收藏  举报