⚡王道课后题之链表⚡
1|01.递归删除所有值为x的节点
2|02.删除所有值为x的节点(没要求递归)
2|1思路:创建一个p和pre指针,一个指向当前节点,一个指向前一个节点
2|2如果遇到相同,那么就"跨越"这个节点
3|03.反向输出链表
3|1思路:一直递归到最后,从而输出从里层往外输出
4|04.删除链表中最小元素
4|1思路:维护最小值指针和他的前驱指针,遍历记录最小值,最后删除
5|05.链表就地反转
5|1思路:维护两个指针,cur和pre,让pre永远在cur的前方
6|06.重排链表,使其变成递增序列
6|1思路:使用插入排序每次遍历到的节点,插入到前面的有序表中
7|07.删除介于两个值之间的所有节点(类似上一篇的线性表有道题)
7|1思路:维护一个节点的前驱指针,要删除的时候使用前驱指针
8|08.寻找两个链表的公共结点
8|1思路:先让腿长的人先跑前面的差程,然后和腿短的人一起跑,一起寻找交叉点
9|09.升序输出链表
9|1思路:每次找m最小值,从而输出再释放结点
10|010.将题中链表分为序号奇偶两个链表
10|1思路:设两个指针分别指向新的两个链表
11|011.将{a,b,a,b...}拆成{a,a,a..},
11|1思路:与10题思路一样,只不过改成头插法(题目要求)
12|012.删除递增表的重复元素
12|1思路:工作指针和后继节点相同时则删除
13|013.将两个递增链表合并为一个递减链表
13|1思路:同时移动两个指针将较小元素节点的存入链表
14|014.A、B为递增链表,找到公共部分,产生C链表
14|1思路:两个指针一起走,谁小谁先走,找到公共节点再继续走
15|015.找两个递增的链表的交集
15|1思路:二路归并(此题考的几率巨大,书上说的...)
16|016.判断序列B是不是A的子序列
16|1思路:B一直重复,A一直往前走,用来找公共的节点
17|017.判断是否是 回文链表
17|1思路:两边来回判断
18|018.将A链接到B链表上,使之仍然为循环链表
18|1思路:将B链接到A的尾巴上面
19|019.循环单链表,每次输出并删除最小值节点
19|1思路:每次循环记录最小值的位置,然后进行删除操作
20|021.高效的寻找倒数第K个节点
20|1思路:设置两个指针,先让p走k步,再p和q一起走,p走到最后,q就是要求的值
21|022.找公共节点,并返回公共节点的地址
21|1思路:与前面的题重复,这里就不做过多赘述
22|023.保留第一次出现的节点,删除其他绝对值相等的节点
22|1思路:题目中给出时间的限制,所以直接空间换时间,使用数组标记
23|024.判断链表是否有环,如果有则输出换的入口地址
23|1思路:使用快慢指针,slow走一步,fast走两步,(证明自行看书)
24|025.
25|0将前面序列变为后面序列
25|1思路:先找中间节点,将后半段序列逆置,从而后面取一个前面取一个
26|0链表完美撒花
__EOF__
作 者:xiaoff
出 处:https://www.cnblogs.com/xiaofff/p/13049613.html
关于博主:编程路上的小学生,热爱技术,喜欢专研。评论和私信会在第一时间回复。或者直接私信我。
版权声明:署名 - 非商业性使用 - 禁止演绎,协议普通文本 | 协议法律文本。
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
由于时间有限,写的不好请见谅,理解万岁(:
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· .NET 进程 stackoverflow异常后,还可以接收 TCP 连接请求吗?
· 本地部署 DeepSeek:小白也能轻松搞定!
· 基于DeepSeek R1 满血版大模型的个人知识库,回答都源自对你专属文件的深度学习。
· 在缓慢中沉淀,在挑战中重生!2024个人总结!
· 如何给本地部署的DeepSeek投喂数据,让他更懂你
· 大人,时代变了! 赶快把自有业务的本地AI“模型”训练起来!