力扣刷题知识点总结
2026/4/17 18:00:19 网站建设 项目流程

一、数组:双指针是 “万能钥匙”

数组题占了近一半,而双指针是解决这类题的 “最优解密码”。

1. 左右指针:解决 “区间类” 问题

  • 11. 盛最多水的容器考点:双指针 + 贪心思路:用左右指针指向数组两端,计算当前容器面积;每次移动较矮的指针(因为移动高指针只会让容器更矮),更新最大面积。
  • 15. 三数之和/16. 最接近的三数之和考点:排序 + 双指针思路:先排序数组,固定一个数后用左右指针找另外两个数,避免三重循环;注意去重(三数之和)或更新最小差值(最接近的三数之和)。

2. 快慢指针:解决 “原地修改” 问题

  • 26. 删除有序数组中的重复项考点:快慢指针思路:慢指针记录新数组的末尾,快指针遍历原数组;快指针遇到与慢指针不同的数,就把它放到慢指针的下一位,慢指针后移。
  • 27. 移除元素考点:快慢指针思路:类似上题,慢指针存 “保留元素”,快指针遍历数组;遇到目标值就跳过,否则放到慢指针位置。

二、字符串:哈希表 + 栈 + 匹配算法是核心

字符串题的关键是字符映射结构匹配

1. 哈希表:处理 “字符 - 数值” 映射

  • 12. 整数转罗马数字/13. 罗马数字转整数考点:哈希表映射思路:把罗马数字与数值的对应关系存在哈希表中;整数转罗马时,从大到小匹配数值,拼接字符;罗马转整数时,遍历字符串,若当前字符值小于后一个,就减去当前值,否则加上。

2. 栈:解决 “括号匹配” 问题

  • 20. 有效的括号考点:栈的 “后进先出” 特性思路:遇到左括号入栈,遇到右括号就弹出栈顶元素对比;最后栈为空且所有括号匹配则有效。

3. 前缀 / 匹配:基础遍历 + KMP 算法

  • 14. 最长公共前缀考点:字符串遍历思路:以第一个字符串为基准,逐个字符与其他字符串对比,直到出现不匹配的字符,前面的部分就是最长公共前缀。
  • 28. 找出字符串中第一个匹配项的下标考点:字符串匹配(暴力 / KMP)思路:暴力法是逐个字符对比子串;优化用 KMP 算法,先构建子串的前缀表,再利用前缀表跳过重复匹配,降低时间复杂度。

三、链表:虚拟头节点是 “神器”

链表题的核心是指针操作,虚拟头节点能避免边界问题。

  • 21. 合并两个有序链表考点:链表遍历 + 虚拟头节点思路:创建虚拟头节点,用两个指针分别遍历两个链表,每次把较小的节点接在虚拟头节点的后面,直到其中一个链表遍历完,再把剩下的部分接上去。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询