LeetCode 21. 合并两个有序链表

题目链接

力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

题目解析

定义一个哨兵位的头结点,然后遍历这两个链表将小的结点放前面。然后再判断这两个链表其中哪一个没有遍历完毕,然后将没有遍历完毕的那个接在后面。

代码

cpp 复制代码
/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode() : val(0), next(nullptr) {}
 *     ListNode(int x) : val(x), next(nullptr) {}
 *     ListNode(int x, ListNode *next) : val(x), next(next) {}
 * };
 */
class Solution 
{
public:
    ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) 
    {
        // 哨兵位头结点
        ListNode* phead=new ListNode(-1);    

        ListNode* cur=phead;

        while(list1!=nullptr&&list2!=nullptr)
        {
            if(list1->val<=list2->val)
            {
                cur->next=list1;
                list1=list1->next;
            }
            else
            {
                cur->next=list2;
                list2=list2->next;
            }
            cur=cur->next;
        }
        if(list1!=nullptr) cur->next=list1;
        if(list2!=nullptr) cur->next=list2;

        return phead->next;
    }
};
相关推荐
NAGNIP12 小时前
大模型框架性能优化策略:延迟、吞吐量与成本权衡
算法
美团技术团队13 小时前
LongCat-Flash:如何使用 SGLang 部署美团 Agentic 模型
人工智能·算法
Fanxt_Ja17 小时前
【LeetCode】算法详解#15 ---环形链表II
数据结构·算法·leetcode·链表
侃侃_天下17 小时前
最终的信号类
开发语言·c++·算法
茉莉玫瑰花茶18 小时前
算法 --- 字符串
算法
博笙困了18 小时前
AcWing学习——差分
c++·算法
NAGNIP18 小时前
认识 Unsloth 框架:大模型高效微调的利器
算法
NAGNIP18 小时前
大模型微调框架之LLaMA Factory
算法
echoarts18 小时前
Rayon Rust中的数据并行库入门教程
开发语言·其他·算法·rust
Python技术极客18 小时前
一款超好用的 Python 交互式可视化工具,强烈推荐~
算法