首页 >> 大全

【Leetcode刷题笔记之链表篇】21. 合并两个有序链表

2023-12-30 大全 26 作者:考证青年

【C语言进阶学习笔记】三、字符串函数详解(1)(爆肝吐血整理,建议收藏!!!)

【C语言基础学习笔记】+【C语言进阶学习笔记】总结篇(坚持才有收获!)

前言

为什么要写刷题笔记?

博客的过程也是对自己刷题过程的梳理和总结,是一种耗时但有效的方法。

当自己分享的博客帮助到他人时,又会给自己带来额外的快乐和幸福。

(刷题的快乐+博客的快乐,简直是奖励翻倍,快乐翻倍有木有QAQ)

题目内容

将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。

原题链接(点击跳转)

暴力求解法

我们可以将list2选为合并后待返回的链表,然后将list1中的结点合并到list2中。

算法图解

函数实现

struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2){struct ListNode *cur1 = list1,*cur2 = list2;//以list2作为最终合并后的链表,当list2为空表,直接返回list1if(cur2 == NULL)return list1;while(cur1){//先保存cur1的下个结点位置,避免丢失struct ListNode* next1 = cur1->next,*next2 = cur2->next;while(next2 && cur2->val < cur1

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了