leetcode先刷_Merge Two Sorted Lists

非常easy问题。

唯一的地方可以具有更具挑战是确保不会引入额外的空间。查找开始值最小的名单列表的新掌门人,头从列表中删除。其他操作应该没有问题。

class Solution {
public:
    ListNode *mergeTwoLists(ListNode *l1, ListNode *l2) {
        if(l1 == NULL)  return l2;
        if(l2 == NULL)  return l1;
        if(l1->val>l2->val)
            swap(l1, l2);
        ListNode *head = l1, *pNode = l1;
        l1 = l1->next;
        head->next = NULL;
        while(l1&&l2){
            if(l1->val <= l2->val){
                pNode->next = l1;
                pNode = l1;
                l1 = l1->next;
            }else{
                pNode->next = l2;
                pNode = l2;
                l2 = l2->next;
            }
            pNode->next = NULL;
        }
        if(l1)
            pNode->next = l1;
        if(l2)
            pNode->next = l2;
        return head;
    }
};


版权声明:本文博客原创文章,博客,未经同意,不得转载。

原文地址:https://www.cnblogs.com/zfyouxi/p/4664185.html