[力扣刷题攻略] Re:从零开始的力扣刷题生活
400877
2023.03.06
2024.05.16
发布于 未知归属地

这是一份由力扣官方整理的推荐刷题路径,适合 考虑系统性地按各知识点刷题 的扣友。
你可以这样使用本刷题攻略:

  • 按照本讨论帖推荐的顺序逐一刷题,适合第一次系统性刷题的朋友;
  • 按照索引找到对应的知识点,选择自己较为薄弱的算法知识针对性刷题;

除了按照本帖推荐的刷题路径进行刷题以外,你还可以一同参与这个题单的创建与维护,你可以:

  1. 提供 更合理的刷题顺序
  2. 提供 知识点下更合理的题目分类
  3. 提供 题目分类对应的典型题
  4. 分享 和算法有关的精彩的文章、题解或讨论帖
  5. 贡献 自己对这个知识点的精彩总结

更新日志

日期内容贡献者
2023 - 03 - 03【数组篇 - 统计数组中的元素】删除 274. H 指数,这题是「二分查找」,已经不是单纯考数组的问题了。【链表篇 - 链表中的双指针技巧】增加 142. 环形链表 IIliweiwei1419
2023 - 03 - 07【图篇】修正了深度优先搜索和广度优先搜索英文使用错误。Mrclick
2023 - 03 - 07【树与二叉树篇】调整了【题目分类】的颗粒度和排序力扣 (LeetCode)
2023 - 03 - 10【滑动窗口专题】、【二分查找专题】、【双指针专题】、【前缀和专题】、【位运算专题】完成更新。力扣 (LeetCode)

索引

  1. 数组篇
  2. 链表篇
  3. 哈希表篇
  4. 栈与队列篇
  5. 字符串篇
  6. 数与位篇
  7. 递归篇
  8. 分治篇
  9. 贪心篇
  10. 排序算法篇
  11. 字符串算法篇
  12. 树与二叉树篇
  13. 动态规划篇
  14. 图篇
  15. 滑动窗口专题
  16. 二分查找专题
  17. 双指针专题
  18. 前缀和专题
  19. 位运算专题

数组篇

题目分类题目编号
数组的改变、移动453. 最小移动次数使数组元素相等 // 665. 非递减数列 // 283. 移动零
数组的旋转189. 旋转数组 // 396. 旋转函数
统计数组中的元素645. 错误的集合 // 697. 数组的度 // 448. 找到所有数组中消失的数字 // 442. 数组中重复的数据 // 41. 缺失的第一个正数
数组的遍历485. 最大连续1的个数 // 495. 提莫攻击 // 414. 第三大的数 // 628. 三个数的最大乘积
二维数组及滚动数组118. 杨辉三角 // 119. 杨辉三角 II // 661. 图片平滑器 // 598. 范围求和 II // 419. 甲板上的战舰
特定顺序遍历二维数组54. 螺旋矩阵 // 59. 螺旋矩阵 II // 498. 对角线遍历
二维数组变换566. 重塑矩阵 // 48. 旋转图像 // 73. 矩阵置零 // 289. 生命游戏
前缀和数组303. 区域和检索 - 数组不可变 // 304. 二维区域和检索 - 矩阵不可变 // 238. 除自身以外数组的乘积

推荐阅读 (欢迎投稿)

没有人一起从零开始刷力扣(一)——数组篇 by noone_
《数组和字符串》 by 力扣 (LeetBook)

链表篇

题目分类题目编号
移除与插入链表元素707. 设计链表 // 203. 移除链表元素 // 237. 删除链表中的节点 // 19. 删除链表的倒数第 N 个结点 // 83. 删除排序链表中的重复元素 // 82. 删除排序链表中的重复元素 II
链表的遍历430. 扁平化多级双向链表 // 114. 二叉树展开为链表
链表的旋转与反转61. 旋转链表 // 24. 两两交换链表中的节点 // 206. 反转链表 // 92. 反转链表 II // 25. K 个一组翻转链表
链表高精度加法2. 两数相加 // 445. 两数相加 II // 面试题 02.05. 链表求和
链表的合并21. 合并两个有序链表 // 23. 合并K个升序链表
链表中的双指针技巧86. 分隔链表 // 19. 删除链表的倒数第 N 个结点 // 141. 环形链表 // 142. 环形链表 II // 876. 链表的中间结点 // 143. 重排链表 // 160. 相交链表

推荐阅读 (欢迎投稿)

力扣刷题总结之链表 by return up;

一文搞定常见的链表问题 by 自在飞花

【反转链表】:双指针,递归,妖魔化的双指针 by 路漫漫我不畏

《链表精讲》 by 力扣 (LeetBook)

哈希表篇

题目分类题目编号
哈希表的查找、插入及删除706. 设计哈希映射 // 217. 存在重复元素 // 349. 两个数组的交集 // 128. 最长连续序列 //290. 单词规律 // 532. 数组中的 k-diff 数对 // 205. 同构字符串 // 138. 复制带随机指针的链表
哈希表与索引1. 两数之和 // 599. 两个列表的最小索引总和 // 219. 存在重复元素 II
哈希表与统计594. 最长和谐子序列 // 350. 两个数组的交集 II // 554. 砖墙 // 609. 在系统中查找重复文件 // 454. 四数相加 II
哈希表与前缀和560. 和为 K 的子数组 // 523. 连续的子数组和 // 525. 连续数组

推荐阅读 (欢迎投稿)

哈希表刷题笔记 by 程序厨

一文助你把哈希表整的明明白白 by AC 自动机

哈希表图文学 by 力扣 (LeetBook)

栈与队列篇

题目分类题目编号
栈的实现232. 用栈实现队列 // 225. 用队列实现栈// 面试题 03.01. 三合一 // 1441. 用栈操作构建数组
单调栈496. 下一个更大元素 I // 84. 柱状图中最大的矩形// 9. 每日温度 // 901. 股票价格跨度 // 42. 接雨水
最小/大栈面试题 03.02. 栈的最小值 // 剑指 Offer 30. 包含min函数的栈 // 155. 最小栈 // 716. 最大栈
字符串去重问题316.去除重复字母 // 1209. 删除字符串中的所有相邻重复项 II // 1081.不同字符的最小子序列
栈与括号匹配20. 有效的括号 // 636. 函数的独占时间 // 591. 标签验证器 // 32. 最长有效括号
表达式求值150. 逆波兰表达式求值//224. 基本计算器 //227. 基本计算器 II // 772. 基本计算器 III // 770. 基本计算器 IV
用栈访问最后若干元素682. 棒球比赛 // 71. 简化路径 // 388. 文件的最长绝对路径
递归385. 迷你语法分析器 // 341. 扁平化嵌套列表迭代器 // 394. 字符串解码
滑动窗口最大值问题239. 滑动窗口最大值
求前 K 个高频元素347. 前K个高频元素 // 692. 前K个高频单词

推荐阅读 (欢迎投稿)

分享|2021秋招算法总结12-栈篇 by

【柱状图中最大的矩形】单调栈入门,使用单调栈快速寻找边界 by Ikaruga

C++ 利用哨兵👨‍✈️,维护一个单调栈📈(图解,直观掌握) by 文慕阳

《队列与栈精讲》 by 力扣 (LeetBook)

字符串篇

题目分类题目编号
字符520. 检测大写字母
回文串的定义125. 验证回文串
公共前缀14. 最长公共前缀
单词434. 字符串中的单词数 // 58. 最后一个单词的长度
字符串的反转344. 反转字符串 // 541. 反转字符串 II // 557. 反转字符串中的单词 III // 151. 翻转字符串里的单词
字符的统计387. 字符串中的第一个唯一字符 // 389. 找不同 // 383. 赎金信 // 242. 有效的字母异位词 // 49. 字母异位词分组 // 451. 根据字符出现频率排序 // 423. 从英文中重建数字 // 657. 机器人能否返回原点 // 551. 学生出勤记录 I // 696. 计数二进制子串 // 467. 环绕字符串中唯一的子字符串
数字与字符串间转换299. 猜数字游戏 // 412. Fizz Buzz // 506. 相对名次 // 539. 最小时间差 // 553. 最优除法 // 537. 复数乘法 // 592. 分数加减运算 // 640. 求解方程 // 38. 外观数列 // 443. 压缩字符串 // 8. 字符串转换整数 (atoi) // 13. 罗马数字转整数 // 12. 整数转罗马数字 // 273. 整数转换英文表示 // 165. 比较版本号 // 481. 神奇字符串
子序列392. 判断子序列 // 524. 通过删除字母匹配到字典里最长单词 // 521. 最长特殊序列 Ⅰ // 522. 最长特殊序列 II
高精度运算66. 加一 // 67. 二进制求和 // 415. 字符串相加 // 43. 字符串相乘 // 306. 累加数
字符串变换482. 密钥格式化 // 6. Z 字形变换 // 68. 文本左右对齐
字符串匹配28. 实现 strStr() // 686. 重复叠加字符串匹配 // 459. 重复的子字符串 // 214. 最短回文串
中心拓展法5. 最长回文子串 // 647. 回文子串

推荐阅读 (欢迎投稿)

没有人一起从零开始刷力扣(二)——字符串篇 by noone_
数组和字符串 by 力扣 (LeetBook)

数与位篇

题目分类题目编号
进制转换67. 二进制求和 // 504. 七进制数 // 405. 数字转换为十六进制数 // 476. 数字的补数 // 66. 加一 // 479. 最大回文数乘积 // 564. 寻找最近的回文数 // 504. 七进制数 // 7. 整数反转 // 693. 交替位二进制数
数值计算415. 字符串相加 // 43. 字符串相乘 // 556. 下一个更大元素 III // 9. 回文数 // 258. 各位相加 // 461. 汉明距离 // 477. 汉明距离总和
数学问题204. 计数质数 // 263. 丑数 // 367. 有效的完全平方数 // 1071. 字符串的最大公因子

推荐阅读 (欢迎投稿)

没有人一起从零开始刷力扣(三)- 数与位篇 by noone_

递归篇

题目分类题目编号
二叉树相关问题100. 相同的树 // 226. 翻转二叉树 // 104. 二叉树的最大深度 // 543. 二叉树的直径 // 617. 合并二叉树 // 572. 另一棵树的子树 // 965. 单值二叉树 // 101. 对称二叉树 // 104. 二叉树的最大深度
回溯相关问题51. N 皇后 // 37. 解数独 // 39. 组合总和 // 46. 全排列 // 79. 单词搜索
动态规划相关问题509. 斐波那契数 // 70. 爬楼梯 // 53. 最大子数组和 // 198. 打家劫舍 // 300. 最长递增子序列
推荐阅读 (欢迎投稿)

一看就会,一写就废?详解递归 by 腐烂的橘子
一篇文章带你吃透对称性递归(思路分析+解题模板+案例解读) by 星晴pro
递归和分治图文学 by 力扣 (LeetBook)

分治篇

题目分类题目编号
分解问题169. 多数元素 // 4. 寻找两个正序数组的中位数 // 543. 二叉树的直径
解决子问题69. x 的平方根 // 53. 最大子数组和 // 34. 在排序数组中查找元素的第一个和最后一个位置
合并结果23. 合并 K 个升序链表 // 1277. 统计全为 1 的正方形子矩阵

推荐阅读 (欢迎投稿)
递归和分治图文学 by 力扣 (LeetBook)

贪心篇

题目分类题目编号
区间类435. 无重叠区间 // 452. 用最少数量的箭引爆气球 // 763. 划分字母区间 // 1353. 最多可以参加的会议数目 // 1520. 最多的不重叠子字符串 // 738. 单调递增的数字
峰谷类122. 买卖股票的最佳时机 II // 714. 买卖股票的最佳时机含手续费 // 376. 摆动序列 // 135. 分发糖果
钱币类322. 零钱兑换 // 860. 柠檬水找零 // 1342. 将数字变成 0 的操作次数
任务类621. 任务调度器 // 1705. 吃苹果的最大数目
矩形类1630. 等差子数组 // 870. 优势洗牌 // 1262. 可被三整除的最大和

推荐阅读 (欢迎投稿)
贪心问题汇总 by FennelDumplings
贪心题型总结 by AC 自动机
贪心算法(Java) by liweiwei1419
贪心算法精讲 by 力扣 (LeetBook)

排序算法篇

题目分类题目编号
冒泡排序912. 排序数组
选择排序215. 数组中的第K个最大元素
插入排序147. 对链表进行插入排序
快速排序973. 最接近原点的 K 个点
归并排序23. 合并 K 个升序链表
堆排序347. 前 K 个高频元素
桶排序1648. 销售价值减少的颜色球 // 220. 存在重复元素 III
计数排序75. 颜色分类
推荐阅读 (欢迎投稿)
排序算法图文学 by 力扣 (LeetBook)

字符串算法篇

题目分类题目编号
字符串匹配算法Rabin-Karp 算法: 28. 找出字符串中第一个匹配项的下标 // KMP 算法: 214. 最短回文串 // Boyer-Moore 算法: 819. 最常见的单词
字符串排序算法75. 颜色分类 // 451. 根据字符出现频率排序 // 179. 最大数 // 937. 重新排列日志文件
字符串压缩算法Run-Length 编码443. 压缩字符串 // 哈夫曼编码:297. 二叉树的序列化与反序列化
字符串搜索算法17. 电话号码的字母组合 // 22. 括号生成 // 30. 串联所有单词的子串
字符串编辑距离算法583. 两个字符串的删除操作 // 1143. 最长公共子序列
正则表达式10. 正则表达式匹配 // 65. 有效数字
暴力算法14. 最长公共前缀 // 125. 验证回文串 // 344. 反转字符串
推荐阅读 (欢迎投稿)

树与二叉树篇

注:对二叉树进行遍历时,除了使用递归的方法以外,建议尝试使用非递归的方法。面试常考,并且能加深自己对知识点的理解。

题目分类题目编号
二叉树的遍历144. 二叉树的前序遍历 // 94. 二叉树的中序遍历 // 145. 二叉树的后序遍历 // 102. 二叉树的层序遍历 // 103. 二叉树的锯齿形层序遍历
二叉树的构造与修改105. 从前序与中序遍历序列构造二叉树 // 106. 从中序与后序遍历序列构造二叉树 // 889. 根据前序和后序遍历构造二叉树 // 226. 翻转二叉树 // 617. 合并二叉树
二叉树的搜索问题用DFS或BFS均可解决的问题: 513. 找树左下角的值 // 515. 在每个树行中找最大值 // 623. 在二叉树中增加一行 // 只能用DFS解决的问题: 199. 二叉树的右视图 // 需要两次搜索才能解决的问题: 655. 输出二叉树 // 865. 具有所有最深节点的最小子树 // 834. 树中距离之和 // 1339. 分裂二叉树的最大乘积 // 863. 二叉树中所有距离为 K 的结点 //101. 对称二叉树 // 222. 完全二叉树的节点个数 // 404. 左叶子之和 // 513. 找树左下角的值
二叉树的路径问题自顶向下路径问题:257. 二叉树的所有路径 // 面试题04.12.求和路径 // 112.路径总和 // 437. 路径总和 III // 988. 从叶结点开始的最小字符串 // 非自顶向下路径问题:124. 二叉树中的最大路径和 // 687. 最长同值路径 // 543. 二叉树的直径
二叉树属性问题104. 二叉树的最大深度 // 111. 二叉树的最小深度 // 222. 完全二叉树的节点个数 // 543. 二叉树的直径
二叉树公共祖先问题235. 二叉搜索树的最近公共祖先 // 1483. 树节点的第 K 个祖先
二叉搜索树98.验证二叉搜索树 // 173. 二叉搜索树迭代器 // 701. 二叉搜索树中的插入操作 // 669. 修剪二叉搜索树 // 450. 删除二叉搜索树中的节点 // 230. 二叉搜索树中第K小的元素 // 235. 二叉搜索树的最近公共祖先 //108. 将有序数组转换为二叉搜索树 // 783. 二叉搜索树节点最小距离 // 538. 把二叉搜索树转换为累加树 // 1038. 从二叉搜索树到更大和树
平衡二叉树110. 平衡二叉树 // 109. 有序链表转换二叉搜索树 // 1382. 将二叉搜索树变平衡

推荐阅读 (欢迎投稿)
二叉树的遍历(深度优先/广度优先 递归/非递归 层序遍历)详解 by
bitkevin

史上最全遍历二叉树详解 by golandscape
一篇文章解决所有二叉树路径问题(问题分析+分类模板+题目剖析) by 星晴pro
匹配类二叉树题目总结 by 腐烂的橘子
红黑树杀人事件始末 by 公众号_码海
二叉查找树 (树ADT连载 3/13) by yukiyama
AVL树 (树ADT连载 4/13) by yukiyama
splay树 (树ADT连载 5/13) by yukiyama
红黑树从入门到看开 by yukiyama
树状数组从入门到下车 by yukiyama
线段树从入门到急停 by yukiyama

普通树 by 力扣 (LeetBook)
二叉搜索树 by 力扣 (LeetBook)
N 叉树 by 力扣 (LeetBook)

动态规划篇

题目分类题目编号
01背包问题416. 分割等和子集 // 474. 一和零 // 494. 目标和 // 1049. 最后一块石头的重量 II // 805. 数组的均值分割
完全背包问题139. 单词拆分 // 279. 完全平方数 // 322. 零钱兑换 // 377. 组合总和 Ⅳ // 518. 零钱兑换 II
一维DP32. 最长有效括号 // 70. 爬楼梯 // 120. 三角形最小路径和 // 91. 解码方法 // 131. 分割回文串 // 132. 分割回文串 II // 121. 买卖股票的最佳时机
二维DP5. 最长回文子串 // 97. 交错字符串 // 62. 不同路径 // 64. 最小路径和 // 72. 编辑距离 // 115. 不同的子序列
三维DP87. 扰乱字符串
线性DP10. 正则表达式匹配 // 44. 通配符匹配 // 53. 最大子数组和 // 72. 编辑距离 // 120. 三角形最小路径和 // 121. 买卖股票的最佳时机 // 122. 买卖股票的最佳时机 II // 123. 买卖股票的最佳时机 III // 128. 最长连续序列 // 152. 乘积最大子数组 // 198. 打家劫舍 // 213. 打家劫舍 II // 300. 最长递增子序列 // 319. 灯泡开关 // 354. 俄罗斯套娃信封问题 // 714. 买卖股票的最佳时机含手续费 // 887. 鸡蛋掉落 // 1143. 最长公共子序列 // 940. 不同的子序列 II // 1092. 最短公共超序列 // 1463. 摘樱桃 II // 1696. 跳跃游戏 VI
区间DP312. 戳气球 // 516. 最长回文子序列 // 664. 奇怪的打印机 // 730. 统计不同回文子序列 1039. 多边形三角剖分的最低得分 // 813. 最大平均值和的分组 // 1278. 分割回文串
树形DP124. 二叉树中的最大路径和 // 337. 打家劫舍 III // 543. 二叉树的直径
数位DP233. 数字 1 的个数 // 902. 最大为 N 的数字组合 // 1015. 可被 K 整除的最小整数 // 600. 不含连续1的非负整数 // 1012. 至少有 1 位重复的数字
状态压缩DP464. 我能赢吗 // 526. 优美的排列 // 935. 骑士拨号器 // 1349. 参加考试的最大学生数 // 1986. 完成任务的最少工作时间段
计数型DP62. 不同路径 // 63. 不同路径 II // 96. 不同的二叉搜索树
递推型DP70. 爬楼梯 // 509. 斐波那契数 // 935. 骑士拨号器 // 957. N天后的牢房 // 1137. 第 N 个泰波那契数
概率型DP808. 分汤 // 837. 新 21 点
博弈型DP292. Nim游戏 // 794. 有效的井字游戏 // 877. 石子游戏 // 1140. 石子游戏 II // 1275. 找出井字棋的获胜者 // 1690. 石子游戏 VII
乘法原理分隔长廊的方案数

推荐阅读 (欢迎投稿)
一文学会动态规划解题技巧 by 公众号_码海
一篇文章吃透背包问题!(细致引入+解题模板+例题分析+代码呈现) by 星晴pro
分享|深度讲解背包问题:面试中每五道动态规划就有一道是背包模型 ... by 宫水三叶
动态规划基础模型精讲 by 力扣 (LeetBook)
动态规划背包问题精讲 by 力扣 (LeetBook)
动态规划图文学:线性 & 区间动态 by 力扣 (LeetBook)
动态规划图文学:状压、计数 & 数位动态 by 力扣 (LeetBook)
动态规划图文学: 树形、图上、概率 & 博弈动态 by 力扣 (LeetBook)

图篇

题目分类题目编号
图的表示329. 矩阵中的最长递增路径 // 1579.保证图可完全遍历 // 210. 课程表 II // 980. 不同路径 // 1128. 等价多米诺骨牌对的数量 // 133. 克隆图 // 1743. 从相邻元素对还原数组
广度优先搜索(BFS)127. 单词接龙 // 126. 单词接龙 II // 207. 课程表 // 210. 课程表 II // 113. 路径总和 II // 542. 01 矩阵 // 200. 岛屿数量 // 117. 填充每个节点的下一个右侧节点指针 II // 130. 被围绕的区域 // 1091. 二进制矩阵中的最短路径 // 752. 打开转盘锁 // 733. 图像渲染 // 102. 二叉树的层序遍历 // 429. N 叉树的层序遍历
深度优先搜索(DFS)130. 被围绕的区域 // 417. 太平洋大西洋水流问题 // 200. 岛屿数量 // 104. 二叉树的最大深度 // 463. 岛屿的周长 // 695. 岛屿的最大面积 // 827. 最大人工岛 // 1219. 黄金矿工 // 690. 员工的重要性 // 113. 路径总和 II // 226. 翻转二叉树 // 129. 求根节点到叶节点数字之和
最小生成树问题1584. 连接所有点的最小费用 // 1131. 绝对值表达式的最大值 // 1631. 最小体力消耗路径 // 1489. 找到最小生成树里的关键边和伪关键边
最短路径问题743. 网络延迟时间 // 127. 单词接龙 // 787. K 站中转内最便宜的航班// 994. 腐烂的橘子 // 882. 细分图中的可到达节点 // 1030. 距离顺序排列矩阵单元格 // 1162. 地图分析 // 1631. 最小体力消耗路径
图的连通性785. 判断二分图 // 面试题 04.01. 节点间通路 // 547. 省份数量 // 886. 可能的二分法 // 959. 由斜杠划分区域 // 990. 等式方程的可满足性

推荐阅读 (欢迎投稿)

滑动窗口专题

题目分类题目编号
固定窗口大小的滑动窗口问题76. 最小覆盖子串 // 3. 无重复字符的最长子串 // 567. 字符串的排列 // 438. 找到字符串中所有字母异位词 // 1763. 最长的美好子字符串 // 446. 等差数列划分 II - 子序列 // 718. 最长重复子数组 // 239. 滑动窗口最大值 // 480. 滑动窗口中位数 // 128. 最长连续序列 // 346. 数据流中的移动平均值
不固定窗口大小的滑动窗口问题209. 长度最小的子数组 // 674. 最长连续递增序列 // 943. 最短超级串 // 904. 水果成篮 // 632. 最小区间 // 560. 和为 K 的子数组 // 395. 至少有 K 个重复字符的最长子串 // 862. 和至少为 K 的最短子数组

推荐阅读 (欢迎投稿)
滑动窗口 by powcai
滑动窗口和双指针 by 力扣 (LeetBook)

二分查找专题

题目分类题目编号
普通二分查找704. 二分查找 // 69. x 的平方根 // 35. 搜索插入位置 // 153. 寻找旋转排序数组中的最小值 // 367. 有效的完全平方数 // 50. Pow(x, n) // 278. 第一个错误的版本 // 4. 寻找两个正序数组的中位数 // 167. 两数之和 II - 输入有序数组 // 744. 寻找比目标字母大的最小字母 // 162. 寻找峰值
查找区间34. 在排序数组中查找元素的第一个和最后一个位置 // 658. 找到 K 个最接近的元素 // 278. 第一个错误的版本 // 74. 搜索二维矩阵
旋转排列数组33. 搜索旋转排序数组 // 81. 搜索旋转排序数组 II // 240. 搜索二维矩阵 II // 48. 旋转图像 // 448. 找到所有数组中消失的数字 // 154. 寻找旋转排序数组中的最小值 II

推荐阅读 (欢迎投稿)
写对二分查找不是套模板并往里面填空,需要仔细分析题意 by liweiwei1419
二分查找 by 力扣 (LeetBook)

双指针专题

题目分类题目编号
对撞指针问题1. 两数之和 // 344. 反转字符串 // 345. 反转字符串中的元音字母 // 125. 验证回文串 // 11. 盛最多水的容器 // 15. 三数之和 // 18. 四数之和 // 167. 两数之和 II - 输入有序数组 // 88. 合并两个有序数组 // 283. 移动零 // 27. 移除元素 // 455. 分发饼干 // 561. 数组拆分 // 9. 回文数
快慢指针问题876. 链表的中间结点 // 206. 反转链表 // 19. 删除链表的倒数第 N 个结点 // 141. 环形链表 // 142. 环形链表 II // 21. 合并两个有序链表 // 26. 删除有序数组中的重复项 // 83. 删除排序链表中的重复元素 // 82. 删除排序链表中的重复元素 II // 86. 分隔链表 // 234. 回文链表
滑动窗口问题209. 长度最小的子数组 // 5. 最长回文子串 // 76. 最小覆盖子串 // 283. 移动零 // 80. 删除有序数组中的重复项 II // 561. 数组拆分 // 457. 环形数组是否存在循环 // 718. 最长重复子数组

推荐阅读 (欢迎投稿)
滑动窗口和双指针 by 力扣 (LeetBook)

前缀和专题

题目分类题目编号
一维数组的前缀和560. 和为 K 的子数组 // 930. 和相同的二元子数组 // 525. 连续数组 // 974. 和可被 K 整除的子数组 // 523. 连续的子数组和 // 1248. 统计「优美子数组」
二维数组的前缀和304. 二维区域和检索 - 矩阵不可变 // 1314. 矩阵区域和 // 1074. 元素和为目标值的子矩阵数量 // 363. 矩形区域不超过 K 的最大数值和
前缀和与二叉树437. 路径总和 III // 1022. 从根到叶的二进制数之和 // 129. 求根节点到叶节点数字之和

推荐阅读 (欢迎投稿)

前缀和 by 力扣 (LeetBook)

位运算专题

题目分类题目编号
位运算的基本运算136. 只出现一次的数字 // 190. 颠倒二进制位 // 191. 位1的个数 // 201. 数字范围按位与 // 338. 比特位计数
位运算的技巧260. 只出现一次的数字 III // 342. 4的幂 // 371. 两整数之和
布隆过滤器705. 设计哈希集合 // 706. 设计哈希映射 // 1044. 最长重复子串 // 211. 添加与搜索单词 - 数据结构设计

推荐阅读 (欢迎投稿)

位运算和数学 by 力扣 (LeetBook)

评论 (105)