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

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

代码:

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;
}
相关推荐
人邮异步社区11 小时前
怎么把C语言学到精通?
c语言·开发语言
闪电悠米14 小时前
力扣hot100-41.缺失的第一个正数-原地哈希详解
数据结构·算法·哈希算法
WL学习笔记14 小时前
堆(数据结构)
数据结构·
xiaobobo333016 小时前
C语言中宏定义宏名和宏值之间的关系
c语言·宏定义·语义型
wabs66618 小时前
关于图论【卡码网100.最大岛屿的面积的思考】
数据结构·算法·图论
a44931536219 小时前
MacBook USB-C不充电故障诊断:从PD握手到主板供电链路
c语言·开发语言·macos·电脑
yuannl1020 小时前
图的最短路径Dijkstra
数据结构
fpcc20 小时前
数据结构和算法—拓扑的应用
数据结构·c++·算法
a44931536221 小时前
iPhone 充电故障的全链路诊断——从 Lightning/USB-C 接口到 Tristar 充电 IC
c语言·macos·ios·电脑·硬件架构·iphone
qq_4480111621 小时前
C语言中的getchar()
c语言·开发语言