news 2026/6/10 14:24:30

单链表的应用-反转链表and删除链表中间结点

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
单链表的应用-反转链表and删除链表中间结点

反转链表

解法:多指针

1.创建三个指针

  • first:记录当前节点的 “前一个节点”(反转后,当前节点要指向它);
  • second:指向当前正在处理的节点(每轮循环要反转它的next指针);
  • third:暂存second下一个节点(避免反转second的指针后,丢失后续链表)。

2.让third通过箭头移动,而first和second通过赋值移动,first、second、third指针通过循环依次向后挪位置,直至second=NULL

3.当循环结束时,所有的元素都被处理完毕,此时的指向是这样

需要为逆置后的新链表添加一个新的头结点,然后让新头结点的next指向“反转后的首元结点”(即原链表的尾结点first)

整体代码:

删除链表中间结点:快慢指针(fast/slow)

情况1:链表有奇数个结点(中间结点即为(n+1)/2)

情况2:链表有偶数个结点(中间结点为n/2+1)

大致做法:1.创建fast、slow两个指针,让slow指向链表的头结点,让fast指向链表的首元结点

2.fast和slow指针同时移动,fast每次移动两步,slow每次移动一步(fast移动的步长刚好为slow的两倍)

3.当fast=NULL(链表有偶数个结点)或者fast->next=NULL(链表有奇数个结点)时,表明fast已经遍历完整个链表,此时的slow恰好指向中间结点的前一个结点

与题目相关的截图来源于b站逊哥

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 22:20:32

软路由远程访问

DDNSTO远程管理家中的openwrt软路由 文章目录DDNSTO远程管理家中的openwrt软路由引言1.注册DDNSTO2.openwrt设置DDNSTO3.DDNSTO添加域名4.远程访问软路由引言 ​ 本文将为大家详细介绍一种 OpenWRT 软路由的远程管理方法—— 相比 Zirotear 操作更简单,无需复杂配置…

作者头像 李华
网站建设 2026/6/10 2:04:18

Premiere Pro剪辑助手:LobeChat自动写视频脚本

Premiere Pro剪辑助手:LobeChat自动写视频脚本 在短视频内容井喷的今天,一个创作者每天可能要面对“今天拍什么”“脚本怎么写”“旁白怎么配”等一系列创作瓶颈。尤其对于独立制作者或小型团队而言,从零构思一段1分钟的Vlog脚本,…

作者头像 李华
网站建设 2026/6/10 14:10:24

移动端PWA安装教程:把LobeChat添加到主屏幕

移动端PWA安装教程:把LobeChat添加到主屏幕 在智能手机几乎成为人体延伸的今天,我们每天打开最多的不是家门,而是各种App。但你有没有想过——有些“应用”其实根本不需要下载?比如你常用的AI聊天工具,如果能像原生App…

作者头像 李华
网站建设 2026/6/10 14:06:53

LobeChat部署常见问题汇总及解决方案(新手必读)

LobeChat部署常见问题汇总及解决方案(新手必读) 在AI助手应用日益普及的今天,越来越多开发者希望快速搭建一个支持大模型对话的前端界面。LobeChat作为一款现代化、高可扩展性的开源聊天平台,凭借其优雅的设计和对多模型的广泛支持…

作者头像 李华
网站建设 2026/6/9 19:40:04

EmotiVoice:开源的情感语音合成引擎

EmotiVoice:开源的情感语音合成引擎 在虚拟主播动情演绎故事、游戏角色因剧情转折而声音颤抖的今天,我们对“机器发声”的期待早已超越了清晰朗读文本的基本要求。人们渴望的是有情绪的声音——一句温柔的安慰、一声愤怒的质问、一段带着笑意的独白&…

作者头像 李华