码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode 21. Merge Two Sorted Lists

时间:2016-02-20 17:28:39      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:

     转载请注明出处: http://www.cnblogs.com/gufeiyang

   个人微博:flysea_gu

题意:

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.

思路: 两个有序链表归并,没啥说的,唯一要说的,ptr指针不要忘记后移

技术分享
/**
 * 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) {
        if(l1 == NULL) return l2;
        if(l2 == NULL) return l1;
        ListNode *root = new ListNode(0);
        ListNode * ptr = root;
        while(l1!=NULL && l2!=NULL)
        {
            if(l1->val <= l2->val)
            {
                ptr->next = l1;
                l1 = l1->next;    
            }
            else 
            {
                ptr->next = l2;
                l2 = l2->next;
            }
            ptr = ptr->next;
        }
        while(l1) 
        {
            ptr->next = l1;
            l1 = l1->next;
            ptr = ptr->next;
        }
        while(l2)
        {
            ptr->next = l2;
            l2 = l2->next;
            ptr = ptr->next;
        }
        ptr = root->next;
        delete root;
        return ptr;
    }
};
View Code

 

LeetCode 21. Merge Two Sorted Lists

标签:

原文地址:http://www.cnblogs.com/gufeiyang/p/5203456.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!