您的位置:首页 > 其它

【LeetCode】21. Merge Two Sorted Lists

2016-03-11 11:40 239 查看
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) {}
* };
*/
class Solution {
public:
ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
ListNode* dummy = new ListNode(0);
ListNode* lastNode = dummy;
if((l1==NULL) && (l2== NULL)) return NULL;
if((l1 ==NULL) && (l2!=NULL)) return l2;
if((l2 ==NULL) && (l1!=NULL)) return l1;

while((l1!=NULL) && (l2!=NULL)){
if(l2->val > l1->val){
lastNode->next = l1;
l1 = l1->next;
}
else if(l2->val <= l1->val){
lastNode->next = l2;
l2 = l2->next;
}
lastNode = lastNode->next;
}
lastNode->next = (l1!=NULL)?l1:l2;
return dummy->next;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: