链表解题总结

链表

哨兵思想

链表类别的题目,到最后都是对链表的CRUD,通过添加哨兵,可以减少边界的情况的讨论。

链表:1-2-3

删

没有哨兵,删除"1","2","3"都对应不同的操作

  • 删除"1":先记住2,然后修改1的指针。

  • 删除"2":记住1和3。修改1的指针指向3,修改2的指针。

  • 删除"3":修改2的指针。

如果引入哨兵,删除1,2,3都可以转换成一个操作:记住当前的前驱和后驱节点,前驱节点指向后节点。从而减少了边界情况的讨论

相关推荐
Tisfy44 分钟前
LeetCode 3644.排序排列:不对则与(脑筋急转弯)
数据结构·算法·leetcode·题解·位运算
H.莓飛2 小时前
【数据结构】快速排序专题
linux·服务器·c语言·数据结构·visual studio
重生之小比特3 小时前
【算法拾光】二分查找|在排序数组中查找元素的第一个和最后一个位置 + 搜索旋转排序数组
数据结构·算法·排序算法
YukiRinLL3 小时前
查找与排序算法:复杂度、稳定性
数据结构·算法·排序算法
careathers14 小时前
【数据结构】从堆到 PriorityQueue:手写一个优先级队列
数据结构
y1su15 小时前
Leetcode 字符串模板
java·数据结构·算法·leetcode·职场和发展·动态规划
十二21 小时前
【洛谷题解】P1115 最大子段和(前缀和 + 维护最小前缀)
数据结构·c++·算法·蓝桥杯
2501_933923251 天前
双指针算法:移动零+复写零(Java)
数据结构·算法·双指针
suhan1 天前
【数据结构】六、图:4.图的遍历(深度优先算法DFS、广度优先算法BFS)
数据结构·算法·排序算法
suhan1 天前
【数据结构】六、图:3.十字链表、邻接多重表、边集数组
数据结构·算法·排序算法