合并两个升序链表,合并后也是升序的

开始时也要判断是否有一个链表本来就是空,如果是,直接返回另外一个链表

代码:

c 复制代码
struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2){
    if(list1==NULL)
    {
        return list2;
    }

     if(list2==NULL)
    {
        return list1;
    }
struct ListNode* cur1=list1;
struct ListNode* cur2=list2;
struct ListNode* newnode=NULL;
struct ListNode* tail=NULL;
while(cur1&&cur2)
{
    if(cur1->val<=cur2->val)
    {
        if(tail==NULL)
        {
            newnode=tail=cur1;
        }else
        {
            tail->next=cur1;
            tail=tail->next;
        }
        cur1=cur1->next;
    }else
    {
         if(tail==NULL)
        {
            newnode=tail=cur2;
        }else
        {
            tail->next=cur2;
            tail=tail->next;

        }
        cur2=cur2->next;
    }
}
if(cur1)
{
    tail->next=cur1;
}
if(cur2)
{
    tail->next=cur2;
}
return newnode;
}
相关推荐
kyle~12 分钟前
数据结构---堆(Heap)
服务器·开发语言·数据结构·c++
apocelipes12 分钟前
Linux的binfmt_misc机制
linux·c语言·c++·python·golang·linux编程·开发工具和环境
渡我白衣14 分钟前
哈希的暴力美学——std::unordered_map 的底层风暴、扩容黑盒与哈希冲突终极博弈
java·c语言·c++·人工智能·深度学习·算法·哈希算法
带土122 分钟前
13. 某马数据结构整理(1)
数据结构
LCG米27 分钟前
工业自动化案例解析:基于ARM7与μC/OS-II的焊接机控制系统设计
运维·c语言·自动化
2509_9408802228 分钟前
CC++链接数据库(MySQL)超级详细指南
c语言·数据库·c++
Kuo-Teng28 分钟前
Mastering High-Concurrency Data Processing: A Deep Dive into BufferTrigger
java·数据结构
嵌入式研究僧1 小时前
【嵌入式项目分享】ESP32红外热成像仪
c语言·stm32·嵌入式硬件
秋深枫叶红1 小时前
嵌入式第二十三篇——数据结构基本概念
linux·数据结构·学习·算法
点亮一颗LED(从入门到放弃)1 小时前
C语言学习笔记(1)——输入输出,数据类型
c语言·笔记·学习