首页 > 其他 > 详细

LeetCode 21. Merge Two Sorted Lists

时间:2016-02-20 17:28:02      阅读:198      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!