初刷leetcode题目(11)——数据结构与算法


😶‍🌫️😶‍🌫️😶‍🌫️😶‍🌫️Take your time ! 😶‍🌫️😶‍🌫️😶‍🌫️😶‍🌫️

💥个人主页:🔥🔥🔥大魔王🔥🔥🔥

💥所属专栏:🔥魔王的修炼之路--数据结构🔥
如果你觉得这篇文章对你有帮助,请在文章结尾处留下你的点赞 👍和关注 💖,支持一下博主。同时记得收藏✨这篇文章,方便以后重新阅读。

十一、21. 合并两个有序链表

21. 合并两个有序链表

思路

创建三个指针,两个分别对象两个链表,另一个是进行重新连接的,也算是新链表,让链表里的元素这个判断大小,小的连接到新链表上,直到一个链表结束,然后让新链表最后有一个结点指向没结束的链表。

代码

c 复制代码
/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */


struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2) {
    struct ListNode* cur1, * cur2, * newhead, * newcur;
    cur1 = list1;
    cur2 = list2;
    newhead = newcur = NULL;
    if (cur1 == NULL && cur2 == NULL)
        return NULL;
    if (cur1 == NULL)
    {
        return cur2;
    }
    if (cur2 == NULL)
    {
        return cur1;
    }
    while (cur1 && cur2)
    {
        if (cur1->val < cur2->val)
        {
            if (newhead == NULL)
            {
                newhead = newcur = cur1;
                cur1 = cur1->next;
            }
            else
            {
                newcur->next = cur1;
                newcur = cur1;
                cur1 = cur1->next;
            }
        }
        else
        {
            if (newhead == NULL)
            {
                newhead = newcur = cur2;
                cur2 = cur2->next;
            }
            else
            {
                newcur->next = cur2;
                newcur = cur2;
                cur2 = cur2->next;
            }
        }
    }
    if (cur1 == NULL)
    {
        newcur->next = cur2;
    }
    else
    {
        newcur->next = cur1;
    }
    return newhead;
}
  • 博主长期更新,博主的目标是不断提升阅读体验和内容质量,如果你喜欢博主的文章,请点个赞或者关注博主支持一波,我会更加努力的为你呈现精彩的内容。

🌈专栏推荐
😈魔王的修炼之路--C语言
😈魔王的修炼之路--数据结构初阶
😈魔王的修炼之路--C++
😈魔王的修炼之路--Linux
更新不易,希望得到友友的三连支持一波。收藏这篇文章,意味着你将永久拥有它,无论何时何地,都可以立即找到重新阅读;关注博主,意味着无论何时何地,博主将永久和你一起学习进步,为你带来有价值的内容。

相关推荐
晨非辰10 分钟前
#C语言——刷题攻略:牛客编程入门训练(十一):攻克 循环控制(三),轻松拿捏!
c语言·开发语言·经验分享·学习·visual studio
嫣语岁月1 小时前
【BMS电池管理】基于BQ76920与STM32的BMS设计开发
c语言·vscode·stm32·单片机·嵌入式硬件
奔跑吧 android4 小时前
【linux kernel 常用数据结构和设计模式】【数据结构 2】【通过一个案例属性list、hlist、rbtree、xarray数据结构使用】
linux·数据结构·list·kernel·rbtree·hlist·xarray
汉克老师4 小时前
第十四届蓝桥杯青少组C++选拔赛[2023.2.12]第二部分编程题(5、机甲战士)
c++·算法·蓝桥杯·01背包·蓝桥杯c++·c++蓝桥杯
Mr_Xuhhh5 小时前
项目需求分析(2)
c++·算法·leetcode·log4j
默默无名的大学生6 小时前
数据结构—顺序表
数据结构·windows
c++bug6 小时前
六级第一关——下楼梯
算法
PAK向日葵6 小时前
【C/C++】面试官:手写一个memmove,要求性能尽可能高
c语言·c++·面试
Morri36 小时前
[Java恶补day53] 45. 跳跃游戏Ⅱ
java·算法·leetcode
林木辛6 小时前
LeetCode热题 15.三数之和(双指针)
算法·leetcode·双指针