链表解题总结

链表

哨兵思想

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

链表:1-2-3

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

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

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

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

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

相关推荐
Adios7944 小时前
设置交集大小至少为2
数据结构·算法·leetcode
来一碗刘肉面11 小时前
栈的应用(表达式求值)
数据结构·算法
yuannl1014 小时前
图的深度优先遍历DFS
数据结构
青山木17 小时前
Hot 100 --- 岛屿数量
java·数据结构·算法·leetcode·深度优先·广度优先
不会就选b17 小时前
算法日常・每日刷题--<归并排序>1
数据结构·算法
危桥带雨17 小时前
排序算法(快排、归并、计数、基数排序)
数据结构·算法·排序算法
zephyr0518 小时前
数据结构-并查集
数据结构
稚南城才子,乌衣巷风流18 小时前
动态树(Dynamic Tree)数据结构详解
数据结构·算法
zander25819 小时前
114. 二叉树展开为链表
数据结构·链表·深度优先
小肝一下20 小时前
3. 单链表
c语言·数据结构·c++·算法·leetcode·链表·dijkstra