youngyangyang04 /leetcode-master
《代码随想录》LeetCode 刷题攻略:200道经典题目刷题顺序,共60w字的详细图解,视频难点剖析,50余张思维导图,支持C++,Java,Python,Go,JavaScript等多语言版本,从此算法学习不再迷茫!🔥🔥 来看看,你会发现相见恨晚!🚀
★ 62,809⑂ 12,291👁 406⑃ 2,729● 282▤ 0◈ 0
62,809
stars
+5
12,291
forks
406
watchers
2,729
prs
282
issues
0
releases
0
discussions
README
代码随想录 · 全网最强数据结构算法学习路线
🌍 海外英文版 ·
🌍🇸 英文仓库 ·
🇨🇳 国内在线阅读 ·
🇨 Gitee 同步
一套 循序渐进、少走弯路 的刷题计划。
题目已按知识脉络与难度 排好顺序,每题配 图文题解 + 视频讲解。
适合从零到进阶、系统化掌握数据结构与算法。
---
🔗 快速入口
- 📘 出版书籍:《代码随想录》
- 🧾 PDF 精讲:算法精讲 PDF
- 🎬 算法公开课:170期硬核视频
- 🧠 卡码笔记:最强八股文
- 👥 学习社区:项目 / 面经 / 学习方法 / 面试技巧 → 加入 「代码随想录」知识星球
- 🤝 参与贡献:本仓讲解以 C++ 为主,含 Java / Python / Go / JS 多语言实现。想点亮头像 👉 如何提交代码 · 致谢贡献者
- 📢 转载须知:全部为原创,引用请标注来源;恶意搬运将依法维权。
---
📚 为什么选这套刷题路线?
- 不再海选题目:README 就是刷题路线,按顺序刷即可。
- 全链路学习体验:每个专题含「理论基础 → 实战题目 → 总结复盘」。
- 经典高频必会:题目均为高频面试题与典型考点。
- 多语言覆盖:除 C++ 主线,还有社区贡献的多语言实现。
---
🚀 如何使用本攻略
1. 从头开始:按模块顺序「数组 → 链表 → 哈希表 → … → 图论」。
2. 带着问题学:每个模块先看「理论基础」,再刷对应题单。
3. 及时复盘:刷完一个模块,阅读「总结篇」,形成知识闭环。
4. 语言不设限:题解以 C++ 讲解为主,配多语言代码,思路通用。
建议:新手先刷「数组/链表/哈希/字符串」,再进阶到「二叉树/回溯/贪心/动态规划/图论」。
---
🧭 刷题总目录(可折叠)
已根据学习曲线优化排序;下方仅展示每章前若干题目,完整清单请展开查看。
前序
AI工具
国内支付宝、微信给ChatGPT、Claude充值
国内如何使用Claude Code
Claude Code OpAPI 接入
算法性能分析
关于时间复杂度,你不知道的都在这里!
O(n)的算法居然超时了,此时的n究竟是多大?
通过一道面试题目,讲一讲递归算法的时间复杂度!
关于空间复杂度,可能有几个疑问?
递归算法的时间与空间复杂度分析!
刷了这么多题,你了解自己代码的内存消耗么?
数组
1. 数组过于简单,但你该了解这些!
2. 数组:704.二分查找
3. 数组:27.移除元素
4. 数组:977.有序数组的平方
5. 数组:209.长度最小的子数组
6. 数组:区间和
7. 数组:开发商购买土地
8. 数组:59.螺旋矩阵II
9. 数组:总结篇
链表
1. 关于链表,你该了解这些!
2. 链表:203.移除链表元素
3. 链表:707.设计链表
4. 链表:206.翻转链表
5. 链表:24.两两交换链表中的节点
6. 链表:19.删除链表的倒数第 N 个结点
7. 链表:链表相交
8. 链表:142.环形链表
9. 链表:总结篇!
哈希表
1. 关于哈希表,你该了解这些!
2. 哈希表:242.有效的字母异位词
3. 哈希表:1002.查找常用字符
4. 哈希表:349.两个数组的交集
5. 哈希表:202.快乐数
6. 哈希表:1.两数之和
7. 哈希表:454.四数相加II
8. 哈希表:383.赎金信
9. 哈希表:15.三数之和
10. 双指针法:18.四数之和
11. 哈希表:总结篇!
字符串
1. 字符串:344.反转字符串
2. 字符串:541.反转字符串II
3. 字符串:替换数字
4. 字符串:151.翻转字符串里的单词
5. 字符串:右旋字符串
6. 帮你把KMP算法学个通透
8. 字符串:459.重复的子字符串
9. 字符串:总结篇!
双指针法
双指针法基本都是应用在数组,字符串与链表的题目上
1. 数组:27.移除元素
2. 字符串:344.反转字符串
3. 字符串:替换数字
4. 字符串:151.翻转字符串里的单词
5. 链表:206.翻转链表
6. 链表:19.删除链表的倒数第 N 个结点
7. 链表:链表相交
8. 链表:142.环形链表
9. 双指针:15.三数之和
10. 双指针:18.四数之和
11. 双指针:总结篇!
栈与队列
1. 栈与队列:理论基础
2. 栈与队列:232.用栈实现队列
3. 栈与队列:225.用队列实现栈
4. 栈与队列:20.有效的括号
5. 栈与队列:1047.删除字符串中的所有相邻重复项
6. 栈与队列:150.逆波兰表达式求值
7. 栈与队列:239.滑动窗口最大值
8. 栈与队列:347.前K个高频元素
9. 栈与队列:总结篇!
二叉树
题目分类大纲如下:
1. 关于二叉树,你该了解这些!
2. 二叉树:二叉树的递归遍历
3. 二叉树:二叉树的迭代遍历
4. 二叉树:二叉树的统一迭代法
5. 二叉树:二叉树的层序遍历
6. 二叉树:226.翻转二叉树
7. 本周小结!(二叉树)
8. 二叉树:101.对称二叉树
9. 二叉树:104.二叉树的最大深度
10. 二叉树:111.二叉树的最小深度
11. 二叉树:222.完全二叉树的节点个数
12. 二叉树:110.平衡二叉树
13. 二叉树:257.二叉树的所有路径
14. 本周总结!(二叉树)
16. 二叉树:404.左叶子之和
17. 二叉树:513.找树左下角的值
18. 二叉树:112.路径总和
19. 二叉树:106.构造二叉树
20. 二叉树:654.最大二叉树
21. 本周小结!(二叉树)
22. 二叉树:617.合并两个二叉树
23. 二叉树:700.二叉搜索树登场!
24. 二叉树:98.验证二叉搜索树
25. 二叉树:530.搜索树的最小绝对差
26. 二叉树:501.二叉搜索树中的众数
27. 二叉树:236.公共祖先问题
28. 本周小结!(二叉树)
29. 二叉树:235.搜索树的最近公共祖先
30. 二叉树:701.搜索树中的插入操作
31. 二叉树:450.搜索树中的删除操作
32. 二叉树:669.修剪二叉搜索树
33. 二叉树:108.将有序数组转换为二叉搜索树
34. 二叉树:538.把二叉搜索树转换为累加树
35. 二叉树:总结篇!(需要掌握的二叉树技能都在这里了)
回溯算法
1. 关于回溯算法,你该了解这些!
2. 回溯算法:77.组合
3. 回溯算法:77.组合优化
4. 回溯算法:216.组合总和III
5. 回溯算法:17.电话号码的字母组合
6. 本周小结!(回溯算法系列一)
7. 回溯算法:39.组合总和
8. 回溯算法:40.组合总和II
9. 回溯算法:131.分割回文串
10. 回溯算法:93.复原IP地址
11. 回溯算法:78.子集
12. 本周小结!(回溯算法Top issues
#1141面试题 02.07. 链表相交 ,python 题解疑问7 comments · 2022-03-04#1169你在leetcode上面的博文的各个连接挂了!4 comments · 2022-03-20#2981【动态规划】- 718.最长重复子数组dp定义有歧义3 comments · 2025-11-12#2634哈希表第一题两数之和的相关表述(存疑)3 comments · 2024-07-19#2627关于pr的一些问题3 comments · 2024-07-18#236019.删除链表的倒数第N个节点 Java版本 勘誤3 comments · 2023-12-09#2256对称二叉树 勘误3 comments · 2023-08-26#1936图片只有一半3 comments · 2023-03-07