算法刷题全靠套路,认准 labuladong 就够了!
01 项目简介
基本信息
为什么值得推荐
在算法学习领域,有一个普遍的困境:很多人刷了成百上千道题,却依然不会做新题。labuladong 的算法笔记项目,用一套完整的思维框架解决了这个问题。
"刷题刷题,刷的是题,培养的是思维。本仓库的目的就是传递这种算法思维。" —— labuladong
这个项目不是简单的代码仓库,而是一套完整的算法学习体系。它通过 60 多篇原创文章,将 LeetCode 的各种题型总结成可复用的框架和套路,让你真正做到举一反三。

核心价值
- 系统性:涵盖所有主要算法题型,从数据结构到动态规划,从二叉树到图论
- 框架化:每种算法都提炼出通用的解题框架,避免重复造轮子
- 生态完善:在线网站 + 多种刷题插件,提供丝滑的学习体验
02 核心特色
特色 1:算法思维框架
labuladong 最大的贡献在于,他将零散的算法题归纳成了一套完整的思维框架。
以动态规划为例,不是让你背每一道题的解法,而是掌握通用的解题套路:
掌握了这个框架,无论遇到什么动态规划问题,你都能按照这个思路去分析。
特色 2:算法可视化
抽象的算法往往难以理解,labuladong 提供了强大的可视化工具。
- 数据结构可视化:链表、二叉树、图等数据结构的变化过程一目了然
- 算法执行过程可视化:排序、搜索等算法的每一步都能看到
大幅降低理解难度,让抽象概念变得直观。
特色 3:全家桶生态
labuladong 不只是写文章,还构建了完整的刷题生态:
- 在线学习网站:labuladong.online,包含所有文章和配套题目链接
- Chrome 插件:在力扣中文版直接查看 labuladong 的题解和思路
- VSCode 插件:在本地开发环境中刷题,无缝衔接
- JetBrains 插件:PyCharm、IntelliJ、Goland 都能使用
无论你习惯哪种刷题方式,都能找到合适的工具。



03 核心内容体系
labuladong 的算法笔记体系非常完整,从基础到进阶,涵盖了算法学习的方方面面。
入门:编程语言基础及练习
适合编程基础薄弱的同学,从零开始:
- Golang 语言基础:Go 语言语法和刷题常用特性
- Python 语言基础:Python 语法和刷题常用特性
- JavaScript 语言基础:JavaScript 语法和刷题常用特性
- 力扣/LeetCode 解题须知:力扣平台使用指南
基础:数据结构及排序精讲
从底层原理理解数据结构:
- 图论数据结构及遍历:图的结构和 DFS/BFS 遍历
- 十大排序算法原理及可视化:冒泡、选择、插入、快排、归并、堆排序等
第零章:核心刷题框架汇总
这是整个项目的精华所在,包含了 13 个核心算法框架:
第一章:经典数据结构算法
深入讲解各种数据结构的算法:
手把手刷链表算法:双指针技巧、反转链表、判断回文链表
手把手刷数组算法:二维数组遍历、nSum 问题、前缀和、差分数组、滑动窗口、二分搜索、Rabin Karp 字符匹配
手把手刷二叉树算法:二叉树心法(思路篇、构造篇、后序篇、序列化篇)、二叉搜索树心法(特性篇、基操篇、构造篇、后序篇)
套模板解决 100 道二叉树习题:通过遍历思维、分解问题思维、后序位置、层序遍历等方法解决二叉树问题
手把手设计数据结构:队列实现栈、单调栈、单调队列、LRU 缓存、LFU 缓存、TreeMap/TreeSet、线段树、Trie 树等
手把手刷图算法:环检测及拓扑排序、二分图判定、并查集、最小生成树、Dijkstra 最短路径
第二章:经典暴力搜索算法
涵盖暴力搜索和递归算法:
DFS/回溯算法:回溯算法框架、数独和 N 皇后问题、排列/组合/子集问题、球盒模型、岛屿问题、括号生成、集合划分
BFS 算法:BFS 算法框架及其应用
第三章:经典动态规划算法
动态规划的完整体系:
动态规划基本技巧:动态规划框架、最长递增子序列、base case 和备忘录初始值、穷举的两种视角、降维打击、最优子结构
子序列类型问题:编辑距离、最大子数组、最长公共子序列
背包类型问题:0-1 背包、子集背包、完全背包、目标和
用动态规划玩游戏:最小路径和、魔塔、辐射4、加权最短路径、正则表达式、高楼扔鸡蛋、戳气球、博弈问题、打家劫舍、股票买卖
贪心类型问题:贪心算法框架、老司机加油算法、区间调度、扫描线技巧
第四章:其他常见算法技巧
数学运算和经典面试题:
数学运算技巧:一行代码解决、位操作、随机算法、阶乘算法、素数、模幂运算、缺失和重复元素、概率问题
经典面试题:接雨水、丑数问题、区间问题、斗地主算法、烧饼排序、字符串乘法、完美矩形
04 快速上手
访问在线网站
最方便的方式是访问在线学习网站:
labuladong.online/algo/
网站包含以下功能:
安装浏览器插件(推荐)
如果你习惯在力扣上刷题,强烈推荐安装 Chrome 插件:
安装步骤:
- 访问 Chrome 应用商店搜索"labuladong"
- 刷新力扣页面,在题目页面会出现 labuladong 的题解和思路
功能特性:
本地刷题插件
如果你更习惯在本地开发环境刷题,可以选择:
VSCode 插件:
# 在 VSCode 扩展商店搜索"labuladong"code --install-extension labuladong.fucking-algorithm
JetBrains 插件:
在 PyCharm / IntelliJ / Goland 的插件市场搜索"labuladong"即可安装。
05 学习建议
初学者学习路径
如果你是算法初学者,建议按照以下顺序学习:
阶段 1:基础知识(1-2 周)
阶段 2:核心框架(2-4 周)
阶段 3:专项突破(4-8 周)
高效刷题技巧
技巧 1:框架优先
不要上来就直接刷题,先学习框架,理解背后的思维模式。
技巧 2:举一反三
学会一道题后,思考这类题的通用解法,总结出框架。
技巧 3:善用可视化
遇到难以理解的算法,使用可视化工具帮助理解。
技巧 4:定期复习
算法很容易遗忘,定期回顾之前学过的框架和题目。
技巧 5:实战演练
多参加力扣周赛,在实战中检验学习成果。
06 适用人群
✅ 适合人群
❌ 不适合人群
07 对比其他资源
labuladong vs 力扣官方题解
labuladong vs 算法导论
labuladong vs 其他博客
08 常见问题
Q1:需要什么基础才能开始学习?
A:建议至少掌握一门编程语言,了解基本的数据结构(数组、链表、栈、队列)和算法(排序、查找)的概念。
Q2:多久能看完所有内容?
A:如果每天学习 2-3 小时,初学者需要 3-6 个月;有基础的开发者 1-2 个月可以完成。
Q3:看完后能达到什么水平?
A:能独立解决力扣中等难度的大部分题目,面试算法问题有清晰的解题思路。
Q4:是否需要购买付费会员?
A:不需要。核心内容全部免费,付费会员提供额外的练习题和答疑服务。
Q5:适合什么语言的开发者?
A:项目提供 Python、Java、C++、Golang、JavaScript 多种语言的代码示例,几乎所有主流语言都支持。
09 总结
labuladong 的算法笔记项目,是算法学习领域的一股清流。
核心亮点:
- 🎯 框架思维:不只是教你怎么做,更教你为什么这么做
- 🛠️ 生态完善:网站 + 插件,提供丝滑的学习体验
一句话总结:如果你想系统学习算法,为面试做准备,labuladong 的算法笔记绝对值得你投入时间。
参考文献
[1] [f**king-algorithm GitHub 仓库](labuladong 官方发布)
[2] [labuladong 在线算法学习网站](labuladong 官方发布)
[3] [算法学习框架思维方法](labuladong 技术博客)
❤️ 觉得有用,点个赞!