leetcode-master README

The project's README from github.com/youngyangyang04/leetcode-master. As one markdown file: README.md.

代码随想录 · LeetCode-Master

🌍 海外英文版 · 🌍🇸 英文仓库 · 🇨🇳 国内在线阅读 · 🇨 Gitee 同步

stars forks issues contributors

一套 循序渐进、少走弯路 的刷题计划。 题目已按知识脉络与难度 排好顺序,每题配 图文题解 + 视频讲解。 适合从零到进阶、系统化掌握数据结构与算法。


🔗 快速入口


📚 为什么选这套刷题路线?


🚀 如何使用本攻略

  1. 从头开始:按模块顺序「数组 → 链表 → 哈希表 → … → 图论」。
  2. 带着问题学:每个模块先看「理论基础」,再刷对应题单。
  3. 及时复盘:刷完一个模块,阅读「总结篇」,形成知识闭环。
  4. 语言不设限:题解以 C++ 讲解为主,配多语言代码,思路通用。

建议:新手先刷「数组/链表/哈希/字符串」,再进阶到「二叉树/回溯/贪心/动态规划/图论」。


🧭 刷题总目录(可折叠)

已根据学习曲线优化排序;下方仅展示每章前若干题目,完整清单请展开查看。

前序
数组
  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算法学个通透
  7. 字符串:459.重复的子字符串
  8. 字符串:总结篇!
双指针法

双指针法基本都是应用在数组,字符串与链表的题目上

  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. 本周总结!(二叉树)
  15. 二叉树:404.左叶子之和
  16. 二叉树:513.找树左下角的值
  17. 二叉树:112.路径总和
  18. 二叉树:106.构造二叉树
  19. 二叉树:654.最大二叉树
  20. 本周小结!(二叉树)
  21. 二叉树:617.合并两个二叉树
  22. 二叉树:700.二叉搜索树登场!
  23. 二叉树:98.验证二叉搜索树
  24. 二叉树:530.搜索树的最小绝对差
  25. 二叉树:501.二叉搜索树中的众数
  26. 二叉树:236.公共祖先问题
  27. 本周小结!(二叉树)
  28. 二叉树:235.搜索树的最近公共祖先
  29. 二叉树:701.搜索树中的插入操作
  30. 二叉树:450.搜索树中的删除操作
  31. 二叉树:669.修剪二叉搜索树
  32. 二叉树:108.将有序数组转换为二叉搜索树
  33. 二叉树:538.把二叉搜索树转换为累加树
  34. 二叉树:总结篇!(需要掌握的二叉树技能都在这里了)
回溯算法

回溯算法大纲

  1. 关于回溯算法,你该了解这些!
  2. 回溯算法:77.组合
  3. 回溯算法:77.组合优化
  4. 回溯算法:216.组合总和III
  5. 回溯算法:17.电话号码的字母组合
  6. 本周小结!(回溯算法系列一)
  7. 回溯算法:39.组合总和
  8. 回溯算法:40.组合总和II
  9. 回溯算法:131.分割回文串
  10. 回溯算法:93.复原IP地址
  11. 回溯算法:78.子集
  12. 本周小结!(回溯算法系列二)
  13. 回溯算法:90.子集II
  14. 回溯算法:491.递增子序列
  15. 回溯算法:46.全排列
  16. 回溯算法:47.全排列II
  17. 本周小结!(回溯算法系列三)
  18. 回溯算法去重问题的另一种写法
  19. 回溯算法:332.重新安排行程
  20. 回溯算法:51.N皇后
  21. 回溯算法:37.解数独
  22. 回溯算法总结篇
贪心算法

贪心算法大纲

  1. 关于贪心算法,你该了解这些!
  2. 贪心算法:455.分发饼干
  3. 贪心算法:376.摆动序列
  4. 贪心算法:53.最大子序和
  5. 本周小结!(贪心算法系列一)
  6. 贪心算法:122.买卖股票的最佳时机II
  7. 贪心算法:55.跳跃游戏
  8. 贪心算法:45.跳跃游戏II
  9. 贪心算法:1005.K次取反后最大化的数组和
  10. 本周小结!(贪心算法系列二)
  11. 贪心算法:134.加油站
  12. 贪心算法:135.分发糖果
  13. 贪心算法:860.柠檬水找零
  14. 贪心算法:406.根据身高重建队列
  15. 本周小结!(贪心算法系列三)
  16. 贪心算法:406.根据身高重建队列(续集)
  17. 贪心算法:452.用最少数量的箭引爆气球
  18. 贪心算法:435.无重叠区间
  19. 贪心算法:763.划分字母区间
  20. 贪心算法:56.合并区间
  21. 本周小结!(贪心算法系列四)
  22. 贪心算法:738.单调递增的数字
  23. 贪心算法:968.监控二叉树
  24. 贪心算法:总结篇!(每逢总结必经典)
动态规划

动态规划专题已经开始啦,来不及解释了,小伙伴们上车别掉队!

  1. 关于动态规划,你该了解这些!
  2. 动态规划:509.斐波那契数
  3. 动态规划:70.爬楼梯
  4. 动态规划:746.使用最小花费爬楼梯
  5. 本周小结!(动态规划系列一)
  6. 动态规划:62.不同路径
  7. 动态规划:63.不同路径II
  8. 动态规划:343.整数拆分
  9. 动态规划:96.不同的二叉搜索树
  10. 本周小结!(动态规划系列二)

背包问题系列:

背包问题大纲

  1. 动态规划:01背包理论基础(二维dp数组)
  2. 动态规划:01背包理论基础(一维dp数组)
  3. 动态规划:416.分割等和子集
  4. 动态规划:1049.最后一块石头的重量II
  5. 本周小结!(动态规划系列三)
  6. 动态规划:494.目标和
  7. 动态规划:474.一和零
  8. 动态规划:完全背包理论基础(二维dp数组)
  9. 动态规划:完全背包理论基础(一维dp数组)
  10. 动态规划:518.零钱兑换II
  11. 本周小结!(动态规划系列四)
  12. 动态规划:377.组合总和Ⅳ
  13. 动态规划:70.爬楼梯(完全背包版本)
  14. 动态规划:322.零钱兑换
  15. 动态规划:279.完全平方数
  16. 本周小结!(动态规划系列五)
  17. 动态规划:139.单词拆分
  18. [动态规划:多重背包理论基础](./pr

leetcode-master (youngyangyang04/leetcode-master)

Searching Database…

这是什么?这是一份精心整理的 LeetCode 学习指南(「代码随想录」),把 200 道经典题目组织成循序渐进的学习路线,并配有详细的图解讲解、视频解析和思维导图,帮助掌握数据结构与算法。
这是一本书、一门课程,还是一份题单?它是一套结构化的刷题课程,以 markdown 文档的形式呈现:每个主题都有理论入门、一组题目和总结回顾,另外还配有已出版的书籍和视频课程。
我应该怎么开始学?按照 README 中的模块顺序从上到下学习:先学数组、链表、哈希表,再依次学到图论等主题。每个主题先读理论部分,再做对应的题目。
我需要先学会某种特定的编程语言吗?不需要特定语言:讲解主要使用 C++,但思路适用于任何语言,社区也贡献了 Java、Python、Go 和 JavaScript 的解法。
这是面向完全的新手,还是面向已经熟悉算法的人?两者都适合:新手建议先从数组、链表、哈希表和字符串入手,再学习二叉树、回溯、贪心算法、动态规划和图论等更难的主题。
为什么只选 200 道题,而不是把 LeetCode 题库全部刷一遍?该项目不主张随机刷题,而是人工精选 200 道高频经典面试题,并按知识之间的依赖关系排序,让学习者系统地建立理解,而不是零零散散地乱刷。
题目讲解之外还有哪些额外资料?除了约 60 万字的图解讲解外,还包括 170 集的视频课程、50 多张思维导图、配套纸质书以及 PDF 深入解析合集。
除了算法课程,我在哪里能找到面试准备资料?项目链接了配套的「卡码笔记」知识库,其中涵盖编程面试问答和面试技巧,另外还有一个付费社区,提供项目经验和求职建议。
Size
98 MB
Stars
62.7K
Updated
CommitAug 03
Age
6y
Commits · 90 Days