Algorithm topic

链表:模式识别与解题模板

本专题包含 11 道题。先辨认输入结构和目标,再选择能够持续保持关键不变量的算法,而不是只记住某一道题的代码。

高频模式

链表11 道题

观察题目是否反复出现“链表”对应的数据访问、状态压缩或边界推进特征。

双指针5 道题

观察题目是否反复出现“双指针”对应的数据访问、状态压缩或边界推进特征。

哈希表3 道题

观察题目是否反复出现“哈希表”对应的数据访问、状态压缩或边界推进特征。

递归3 道题

观察题目是否反复出现“递归”对应的数据访问、状态压缩或边界推进特征。

数学1 道题

观察题目是否反复出现“数学”对应的数据访问、状态压缩或边界推进特征。

设计1 道题

观察题目是否反复出现“设计”对应的数据访问、状态压缩或边界推进特征。

核心模板

  1. 先写清输入规模、目标值和允许修改的数据。
  2. 定义每一步开始和结束时必须成立的不变量。
  3. 把循环、递归、队列或状态转移拆成可验证事件。
  4. 用最小输入、重复值和退化结构验证边界。

常见错误

  • 只根据样例选择算法,没有核对复杂度上限。
  • 更新多个指针或状态时破坏旧值依赖。
  • 忽略空输入、重复值、断开结构或极端顺序。
  • 代码结果正确,但解释没有说明为什么不会漏解或重复。

代表题

#141 · EASY

环形链表

判断链表是否存在环。

哈希表链表双指针
#2 · MEDIUM

两数相加

把逆序链表表示的两个整数相加。

递归链表数学
查看本分类全部 11 道题