链表解题总结

链表

哨兵思想

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

链表:1-2-3

删

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

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

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

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

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

相关推荐
岑梓铭11 分钟前
《考研408数据结构》第八章(排序)复习笔记
数据结构·笔记
Pniubi1 天前
力扣24. 两两交换链表中的节点(递归)
算法·leetcode·链表
nice_lcj5201 天前
LRU 缓存入门:它是什么、怎么用、面试怎么手写
java·数据结构·缓存·面试·lru
꧁细听勿语情꧂1 天前
直接选择排序,堆排序,冒泡排序,递归快速排序、hoare版本、挖坑法、lomuto前后指针,非递归快速排序
c语言·开发语言·数据结构·算法
Pniubi2 天前
关于算法用现成数据结构和手撕
数据结构
老师我太想进步了20262 天前
【数据结构-6】算法美学之单链表(1)
数据结构·算法
希望我万事顺遂2 天前
力扣hot100-滑动窗口最大值
数据结构·算法·leetcode
꧁细听勿语情꧂2 天前
二叉树余题,排序、直接插入排序、希尔排序
c语言·开发语言·数据结构·算法
是main不是漫2 天前
【双指针|LeetCode1089 复写零】巧用逆向思路,破解原地覆盖陷阱
数据结构·算法·leetcode
饮水桶_T3 天前
JAVA IO流笔记
开发语言·数据结构·算法