🌍 海外英文版 ·
🌍🇸 英文仓库 ·
🇨🇳 国内在线阅读 ·
🇨 Gitee 同步
一套 循序渐进、少走弯路 的刷题计划。
题目已按知识脉络与难度 排好顺序,每题配 图文题解 + 视频讲解。
适合从零到进阶、系统化掌握数据结构与算法。
- 不再海选题目:README 就是刷题路线,按顺序刷即可。
- 全链路学习体验:每个专题含「理论基础 → 实战题目 → 总结复盘」。
- 经典高频必会:题目均为高频面试题与典型考点。
- 多语言覆盖:除 C++ 主线,还有社区贡献的多语言实现。
- 从头开始:按模块顺序「数组 → 链表 → 哈希表 → … → 图论」。
- 带着问题学:每个模块先看「理论基础」,再刷对应题单。
- 及时复盘:刷完一个模块,阅读「总结篇」,形成知识闭环。
- 语言不设限:题解以 C++ 讲解为主,配多语言代码,思路通用。
建议:新手先刷「数组/链表/哈希/字符串」,再进阶到「二叉树/回溯/贪心/动态规划/图论」。
已根据学习曲线优化排序;下方仅展示每章前若干题目,完整清单请展开查看。
前序
数组
- 数组过于简单,但你该了解这些!
- 数组:704.二分查找
- 数组:27.移除元素
- 数组:977.有序数组的平方
- 数组:209.长度最小的子数组
- 数组:区间和
- 数组:开发商购买土地
- 数组:59.螺旋矩阵II
- 数组:总结篇
链表
- 关于链表,你该了解这些!
- 链表:203.移除链表元素
- 链表:707.设计链表
- 链表:206.翻转链表
- 链表:24.两两交换链表中的节点
- 链表:19.删除链表的倒数第 N 个结点
- 链表:链表相交
- 链表:142.环形链表
- 链表:总结篇!
哈希表
- 关于哈希表,你该了解这些!
- 哈希表:242.有效的字母异位词
- 哈希表:1002.查找常用字符
- 哈希表:349.两个数组的交集
- 哈希表:202.快乐数
- 哈希表:1.两数之和
- 哈希表:454.四数相加II
- 哈希表:383.赎金信
- 哈希表:15.三数之和
- 双指针法:18.四数之和
- 哈希表:总结篇!
字符串
- 字符串:344.反转字符串
- 字符串:541.反转字符串II
- 字符串:替换数字
- 字符串:151.翻转字符串里的单词
- 字符串:右旋字符串
- 帮你把KMP算法学个通透
- 字符串:459.重复的子字符串
- 字符串:总结篇!
双指针法
双指针法基本都是应用在数组,字符串与链表的题目上
- 数组:27.移除元素
- 字符串:344.反转字符串
- 字符串:替换数字
- 字符串:151.翻转字符串里的单词
- 链表:206.翻转链表
- 链表:19.删除链表的倒数第 N 个结点
- 链表:链表相交
- 链表:142.环形链表
- 双指针:15.三数之和
- 双指针:18.四数之和
- 双指针:总结篇!
栈与队列
- 栈与队列:理论基础
- 栈与队列:232.用栈实现队列
- 栈与队列:225.用队列实现栈
- 栈与队列:20.有效的括号
- 栈与队列:1047.删除字符串中的所有相邻重复项
- 栈与队列:150.逆波兰表达式求值
- 栈与队列:239.滑动窗口最大值
- 栈与队列:347.前K个高频元素
- 栈与队列:总结篇!
二叉树
题目分类大纲如下:
- 关于二叉树,你该了解这些!
- 二叉树:二叉树的递归遍历
- 二叉树:二叉树的迭代遍历
- 二叉树:二叉树的统一迭代法
- 二叉树:二叉树的层序遍历
- 二叉树:226.翻转二叉树
- 本周小结!(二叉树)
- 二叉树:101.对称二叉树
- 二叉树:104.二叉树的最大深度
- 二叉树:111.二叉树的最小深度
- 二叉树:222.完全二叉树的节点个数