当前位置: 首页 > news >正文

链表 part02

2026.01.31 第四天

24 两两交换链表中的节点

比较简单,画图即可搞清楚。

首先建立一个虚拟头节点,后面挂载传进函数的链表

而后从虚拟头节点后面第一个节点开始两个两个地判断是否有两个元素,若无直接结束,若有保存好两个节点的地址并相应改变指针域皆可,找个草稿纸画图,同时实现代码会比较清楚。

最后返回虚拟头节点后面第一个节点即可。

虚拟头节点立大功。

19 删除链表的倒数第N个节点

由于是单向链表,未知长度,还要操作倒数第N个节点,所以涉及了一个尾部发现链表结束的信息和倒数第N个节点地址的信息,相当于遇到了一个固定长度区间的问题,于是想到使用双指针进行求解。

首先让快指针走N+1步,而后快慢指针一起走,这样当快指针遇到链表尾部nullptr时,慢指针正好指向倒数第N+1个节点,此时慢指针指针域正好保存有倒数第N个节点的地址信息,可以很方便地进行删除。

本题还是用到了虚拟头节点,这个真的很方便也很重要!!!
涉及链表的增删改要使用虚拟头节点

让快指针先行动N+1次可以用while(n--)~

http://www.jsqmd.com/news/327347/

相关文章:

  • [豪の算法奇妙冒险] 代码随想录算法训练营第三十七天 | 完全背包理论基础、518-零钱兑换Ⅱ、377-组合总和Ⅳ
  • AppML 案例未来
  • Python 循环嵌套
  • 期末考小记
  • 10404_基于Springboot的校园网络安全防御系统
  • 【Week6_Day28】【软件测试学习记录与反思】【阶段四 Python, 收集问题, 反思改进,写博客】
  • Java多线程编程技巧:面试必看的几种实现方式!
  • 第16章 - 与 QGIS 集成
  • “信息安全”与“网络安全”区别
  • 《文明6》Leaders.xml 文件标签解析指南
  • 文明六MOD入门:从零开始制作一个巫师文明
  • 实用指南:虚拟现实与增强现实:改变我们的数字体验
  • Skills精选
  • 第16章:性能优化与最佳实践
  • 开题报告_基于知识图谱的个性化学习微信小程序设计与开发
  • 第17章:实战案例与综合应用
  • 文明6 MOD制作入门:解密官方阿兹特克配置文件
  • 《文明6》XML建筑文件全标签解析:从代码到游戏的完整指南
  • 第03章 - 核心架构与组件设计
  • 药店药品管理系统的设计与实现开题报告
  • 文明6 Mod制作核心组件关系解密:从XML到游戏的奇幻漂流
  • 《Foundation 开关:深度解析其原理与应用》
  • 药膳食堂点餐系统的设计与实现 开题报告
  • 开题报告+基于Python的家庭安防监控系统设计与实现
  • 选择(Selectable)
  • Java语言提供了八种基本类型。六种数字类型【函数不可123】
  • 开题报告_基于SSM的校园报修管理系统的设计与实现
  • 开题报告_基于Vue框架的影院购票APP的设计与实现
  • 产品经理案例分析(二):电商产品立项:从 0 到 1 启动前,这 5 件事必须想透
  • 开题报告+ 基于Android的运动会管理APP设计与实现)