LeetCode 21. Merge Two Sorted Lists

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 21. Merge Two Sorted Lists相关的知识,希望对你有一定的参考价值。

     转载请注明出处: 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的主要内容,如果未能解决你的问题,请参考以下文章

Leetcode---21. Merge Two Sorted Lists

Leetcode 21. Merge Two Sorted Lists

LeetCode 21. Merge Two Sorted Lists

LeetCode算法-21Merge Two Sorted Lists

Leetcode 21. Merge Two Sorted Lists

[LeetCode] 21. Merge Two Sorted Lists