LeetCode Hot 100 教程
该教程按照官方精选的 Hot 100 题目,结合数据结构与算法的分类,为您提供系统化的刷题指导。每道题目都包含题目描述、解题思路以及 Java 代码实现。
教程目录
1. 基础技巧
- 哈希 - 两数之和、字母异位词分组、最长连续序列
- 双指针 - 移动零、盛最多水的容器、三数之和、接雨水
- 滑动窗口 - 无重复字符的最长子串、找到字符串中所有字母异位词
- 子串 - 和为 K 的子数组、滑动窗口最大值、最小覆盖子串
- 技巧 - 只出现一次的数字、多数元素、下一个排列等
2. 线性和矩阵
3. 三大核心:树、图、搜索
- 二叉树 - 中序遍历、最大深度、验证二叉搜索树、最近公共祖先等
- 图论 - 岛屿数量、腐烂的橘子、课程表、实现 Trie
- 回溯 - 全排列、子集、组合总和、N 皇后
- 二分查找 - 搜索插入位置、搜索旋转排序数组、中位数问题
4. 进阶结构与算法
5. 动态规划
学习建议
- 先思考再看题解:每道题先在力扣上尝试自己编写,遇到瓶颈再查阅本教程。
- 掌握核心思路:不仅要看懂代码,更要理解为何这样解决(思路部分)。
- 复杂度分析:注意每种解法的时间和空间复杂度,这是面试中的核心考察点。