刷题题解
记录自己LeetCode刷题的过程,后续有时间还将完善其他语言版本的题解。
LeetCode 刷题课程第二期
任务
课程大纲
Task 01:链表(4 天)
01-01 链表基础知识(2 天)
- 第 01 ~ 02 天学习内容:
- 第 01 天课程题目列表:
- 第 02 天课程题目列表:
- 更多链表基础题目
01-02 链表排序(1 天)
- 第 03 天学习内容:
- 第 03 天课程题目:
- 更多链表排序题目
01-03 链表双指针(1 天)
- 第 04 天学习内容:
- 第 04 天课程题目:
- 更多链表双指针题目
链表
| Title | Solution | Difficulty | Types | Codes |
|---|---|---|---|---|
| 0707.设计链表 | Solution | 中等 | 链表 | C++ |
| 0206.反转链表 | Solution | 简单 | 链表 | C++ |
| 0092.反转链表II | Solution | 简单 | 链表 | C++ |
| 0203.移除链表元素 | Solution | 简单 | 链表 | C++ |
| 0328.奇偶链表 | Solution | 简单 | 链表 | C++ |
| 0234.回文链表 | Solution | 简单 | 链表 | C++ |
| 0138.复制带随机指针的链表 | Solution | 中等 | 链表 | C++ |
| 0148.排序链表 | Solution | 中等 | 链表 | C++ |
| 0021.合并两个有序链表 | Solution | 简单 | 链表 | C++ |
| 0147.对链表进行插入排序 | Solution | 中等 | 链表 | C++ |
| 0141.环形链表 | Solution | 简单 | 链表 | C++ |
| 0142.环形链表II | Solution | 简单 | 链表 | C++ |
| 0019.删除链表的倒数第N个结点 | Solution | 中等 | 链表 | C++ |
Task 02:堆栈与深度优先搜索(5 天)
02-01 堆栈基础知识(2 天)
- 第 05 ~ 06 天学习内容:
- 第 05 天课程题目:
- 第 06 天课程题目:
- 更多堆栈基础知识相关题目
02-02 栈与深度优先搜索(3 天)
- 第 07 ~ 09 天学习内容:
- 第 07 天课程题目:
- 第 08 天课程题目:
- 第 09 天课程题目:
- 更多栈与深度优先搜索题目
堆栈与深度优先搜索
| Title | Solution | Difficulty | Types | Codes |
|---|---|---|---|---|
| 0155.最小栈 | Solution | 简单 | 堆栈 | C++ |
| 0020.有效的括号 | Solution | 简单 | 堆栈 | C++ |
| 0227.基本计算器II | Solution | 中等 | 堆栈 | C++ |
| 0150.逆波兰表达式求值 | Solution | 中等 | 堆栈 | C++ |
| 0394.字符串解码 | Solution | 中等 | 堆栈 | C++ |
| 0946.验证栈序列 | Solution | 中等 | 堆栈 | C++ |
| 0200.岛屿数量 | Solution | 中等 | 堆栈 | C++ |
| 0133.克隆图 | Solution | 中等 | DFS | C++ |
| 0494.目标和 | Solution | 中等 | 堆栈 | C++ |
| 0841.钥匙和房间 | Solution | 中等 | 堆栈 | C++ |
| 0695.岛屿的最大面积 | Solution | 中等 | 堆栈 | C++ |
| 0130.被围绕的区域 | Solution | 中等 | 堆栈 | C++ |
| 0417.太平洋大西洋水流问题 | Solution | 中等 | 堆栈 | C++ |
| 1020.飞地的数量 | Solution | 中等 | 堆栈 | C++ |
| 1254.统计封闭岛屿的数目 | Solution | 中等 | 堆栈 | C++ |
Task 03 单调栈(1 天)
- 第 10 天学习内容:
- 第 10 天课程题目:
- 更多单调栈题目
单调栈
| Title | Solution | Difficulty | Types | Codes |
|---|---|---|---|---|
| 0496.下一个更大元素I | Solution | 简单 | 单调栈 | C++ |
| 0739.每日温度 | Solution | 中等 | 单调栈 | C++ |
| 0316.去除重复字母 | Solution | 中等 | 单调栈 | C++ |
Task 04:队列与广度优先搜索(3 天)
04-01 队列基础知识(1 天)
- 第 11 天学习内容:
- 第 11 天课程题目:
- 更多队列基础题目
04-02 队列与广度优先搜索(2 天)
- 第 12 天学习内容:
- 第 12 天课程题目:
- 第 13 天课程题目:
- 更多队列与广度优先搜索题目
队列与广度优先搜索
| Title | Solution | Difficulty | Types | Codes |
|---|---|---|---|---|
| 0622.设计循环队列 | Solution | 简单 | BFS | C++ |
| 0225.用队列实现栈 | Solution | 简单 | BFS | C++ |
| 0752.打开转盘锁 | Solution | 中等 | BFS | C++ |
| 0279.完全平方数 | Solution | 中等 | BFS | C++ |
| 0542.01矩阵 | Solution | 中等 | BFS | C++ |
| 0322.零钱兑换 | Solution | 中等 | BFS | C++ |
| 剑指Offer13.机器人的运动范围 | Solution | 中等 | BFS | C++ |
Task 05 优先队列(1 天)
优先队列
| Title | Solution | Difficulty | Types | Codes |
|---|---|---|---|---|
| 0215.数组中的第K个最大元素 | Solution | 中等 | 堆 | C++ |
| 0347.前 K 个高频元素 | Solution | 中等 | 堆 | C++ |
| 0451.根据字符出现频率排序 | Solution | 中等 | 堆 | C++ |
Leetcode 刷题课程第一期
模拟
| Title | Solution | Difficulty | Types | Codes |
|---|---|---|---|---|
| 1034.边界着色 | Solution | 简单 | 模拟 | Python |
数组基础
| Title | Solution | Difficulty | Types | Codes |
|---|---|---|---|---|
| 66.加一 | Solution | 简单 | 数组 | Python |
| 724.寻找数组的中⼼下标 | Solution | 简单 | 数组 | Python |
| 189.旋转数组 | Solution | 中等 | 数组 | Python |
| 48.旋转图像 | Solution | 中等 | 数组 | Python |
| 54.螺旋矩阵 | Solution | 中等 | 数组,模拟 | Python |
| 498.对角线遍历 | Solution | 中等 | 数组,模拟 | Python |
数组排序
| Title | Solution | Difficulty | Types | Codes |
|---|---|---|---|---|
| 剑指 Offer 45.把数组排成最小的数 | Solution | 中等 | 排序 | Python |
| 283.移动零 | Solution | 简单 | 排序 | Python |
| 912.排序数组 | Solution | 中等 | 排序 | Python |
| 506.相对名次 | Solution | 中等 | 排序 | Python |
| 面试题 10.01.合并排序的数组 | Solution | 简单 | 排序 | Python |
| 剑指 Offer 51.数组中的逆序对 | Solution | 困难 | 排序 | Python |
| 75.颜色分类 | Solution | 中等 | 排序 | Python |
| 215.数组中的第K个最大元素 | Solution | 中等 | 排序 | Python |
| 剑指 Offer 40.最小的k个数 | Solution | 简单 | 排序 | Python |
| 1122.数组的相对排序 | Solution | 简单 | 排序 | Python |
| 908.最小差值 I | Solution | 简单 | 排序 | Python |
| 164.最大间距 | Solution | 困难 | 排序 | Python |
| 786.第 K 个最小的素数分数 | Solution | 困难 | 排序 | Python |
| 1005.K次取反后最大化的数组和 | Solution | 简单 | 排序 | Python |
二分查找
| Title | Solution | Difficulty | Types | Codes |
|---|---|---|---|---|
| 0704.二分查找 | Solution | 简单 | 二分查找 | Python C++ |
| 0035.搜索插入位置 | Solution | 简单 | 二分查找 | Python |
| 0374.猜数字大小 | Solution | 简单 | 二分查找 | Python |
| 0069.Sqrt(x) | Solution | 简单 | 二分查找 | Python |
| 0167.两数之和 II - 输入有序数组 | Solution | 简单 | 二分查找 | Python |
| 1011.在 D 天内送达包裹的能力 | Solution | 中等 | 二分查找 | Python |
| 0278.第一个错误的版本 | Solution | 简单 | 二分查找 | Python |
| 0033.搜索旋转排序数组 | Solution | 中等 | 二分查找 | Python |
| 0153.寻找旋转排序数组中的最小值 | Solution | 中等 | 二分查找 | Python |
| 81.搜索旋转排序数组 II | Solution | 中等 | 二分查找 | Python |
| 154.寻找旋转排序数组中的最小值 II | Solution | 困难 | 二分查找 | Python |
| 875.爱吃香蕉的珂珂 | Solution | 中等 | 二分查找 | Python |
| 1446.连续字符 | Solution | 简单 | 二分查找 | Python |
| 911.在线选举 | Solution | 简单 | 二分查找 | Python |
双指针与滑动窗口
| Title | Solution | Difficulty | Types | Codes |
|---|---|---|---|---|
| 594.最长和谐子序列 | Solution | 简单 | 滑动窗口,排序 | Python |
| 0344.反转字符串 | Solution | 简单 | 双指针 | Python, C++ |
| 0015.三数之和 | Solution | 中等 | 双指针 | Python |
| 0026.删除有序数组中的重复项 | Solution | 简单 | 双指针 | Python |
| 0080.删除有序数组中的重复项 II | Solution | 中等 | 双指针 | Python |
| 0283.移动零 | Solution | 简单 | 双指针 | Python |
| 0075.颜色分类 | Solution | 中等 | 双指针 | Python |
| 0088.合并两个有序数组 | Solution | 简单 | 双指针 | Python |
| 0674.最长连续递增序列 | Solution | 简单 | 双指针 | Python |
| 0485.最大连续 1 的个数 | Solution | 简单 | 双指针 | Python |
| 1004.最大连续1的个数 III | Solution | 中等 | 双指针 | Python |
| 0220.存在重复元素 III | Solution | 中等 | 滑动窗口 | Python |
| 438.找到字符串中所有字母异位词 | Solution | 中等 | 滑动窗口 | Python |
| 0977.有序数组的平方 | Solution | 简单 | 双指针 | C++ |
哈希表
| Title | Solution | Difficulty | Types | Codes |
|---|---|---|---|---|
| 383.赎金信 | Solution | 简单 | 哈希表 | Python |
字符串
| Title | Solution | Difficulty | Types | Codes |
|---|---|---|---|---|
| 1816.截断句子 | Solution | 简单 | 模拟 | Python |
二叉树
| Title | Solution | Difficulty | Types | Codes |
|---|---|---|---|---|
| 563.二叉树的坡度 | Solution | 简单 | 递归 | Python |
贪心
| Title | Solution | Difficulty | Types | Codes |
|---|---|---|---|---|
| 709.转换成小写字母 | Solution | 简单 | 位运算 | Python |
图论
| Title | Solution | Difficulty | Types | Codes |
|---|---|---|---|---|
| 1034.边界着色 | Solution | 中等 | DFS,BFS | Python |
位运算
| Title | Solution | Difficulty | Types | Codes |
|---|---|---|---|---|
| 807.保持城市天际线 | Solution | 中等 | 贪心 | Python |
参考链接
感谢以下大佬的题解,帮助我在算法上的学习。