Leetcode的开门大吉

Pat乙勉勉强强刷完三分之一,来到了心心念念的Leetcode 果真开门大吉
一道题我搞了俩小时 有序表合并 21题




class Solution {
    public:
     ListNode* mergeTwoLists(ListNode* l1,ListNode* l2)
    {
            ListNode* dummy = new ListNode(-1);
            ListNode* p = dummy->next;
            ListNode* p1=l1;ListNode* p2=l2;
            while(p1!=nullptr&&p2!=nullptr)
            {
               if(p1->val>p2->val) 
               {
                   p->next = p2;
                   p2 = p2->next;
               }
               else
               {
                    p->next = p1;
                   p1 = p1->next;
               }
                p = p->next;
            }
            if(p1==nullptr) p = p2->next;
            else p = p1->next;
        return dummy->next;
    }
};

跑了n久都没跑过 想吐血,老哥们来评评理 哭死
在这里插入图片描述


class Solution {
    public:
     ListNode* mergeTwoLists(ListNode* l1,ListNode* l2)
    {
           ListNode* preHead = new ListNode(-1);

        ListNode* prev = preHead;
        while (l1 != nullptr && l2 != nullptr) {
            if (l1->val < l2->val) {
                prev->next = l1;
                l1 = l1->next;
            } else {
                prev->next = l2;
                l2 = l2->next;
            }
            prev = prev->next;
        }

        // 合并后 l1 和 l2 最多只有一个还未被合并完,我们直接将链表末尾指向未合并完的链表即可
        prev->next = l1 == nullptr ? l2 : l1;

        return preHead->next;
    }
};

他这个竟然就过了,我佛了

最后还是过了

class Solution {
    public:
     ListNode* mergeTwoLists(ListNode* l1,ListNode* l2)
    {
   
            ListNode* dummy = new ListNode(-1);
            ListNode* p = dummy;
            ListNode* p1=l1;ListNode* p2=l2;
            while(p1!=nullptr&&p2!=nullptr)
            {
               if(p1->val>p2->val) 
               {
                   p->next= p2;
                   p2 = p2->next;
               }
               else
               {
                    p->next= p1;
                   p1 = p1->next;
               }
                p = p->next;
            }
            if(p1==nullptr) p->next = p2;
            else p->next = p1;
        return dummy->next;
    }

};
原文地址:https://www.cnblogs.com/most-silence/p/15495343.html