刷题
刷题
经典数据结构
数组
| 题目 | 难度 | 状态 |
|---|---|---|
| 1. 两数之和 | 简单 | 通过 |
| 167. 两数之和 II - 输入有序数组 | 中等 | 通过 |
| 剑指 Offer II 006. 排序数组中两个数字之和 | 简单 | 通过 |
| 剑指 Offer 57. 和为 s 的两个数字 | 简单 | 通过 |
| 136. 只出现一次的数字 | 简单 | 通过 |
| 217. 存在重复元素 | 简单 | 通过 |
| 2073. 买票需要的时间 | 简单 | 通过 |
| 26. 删除有序数组中的重复项 | 简单 | 未通过 |
| 27. 移除元素 | ||
| 283. 移动零 | ||
| 344. 反转字符串 | ||
| 5. 最长回文子串 | ||
| 263. 丑数 | 简单 | 未通过 |
| 264. 丑数 II | 中等 | 未通过 |
| 1201. 丑数 III | 中等 | 未通过 |
| 313. 超级丑数 | 中等 | 未通过 |
| 373. 查找和最小的 K 对数字 | ||
链表
| 题目 | 难度 | 通关 |
|---|---|---|
| 19. 删除链表的倒数第 N 个结点 | 中等 | 通过 |
| 21. 合并两个有序链表 | 简单 | 通过 |
| 23. 合并 K 个升序链表 | 困难 | 通过 |
| 83. 删除排序链表中的重复元素 | 简单 | 通过 |
| 82. 删除排序链表中的重复元素 II | 中等 | 半通过 |
| 86. 分隔链表 | 简单 | 通过 |
| 876. 链表的中间结点 | 简单 | 通过 |
| 剑指 Offer 22. 链表中倒数第 k 个节点 | 简单 | 通过 |
| 141. 环形链表 | 简单 | 通过 |
| 142. 环形链表 II | 中等 | 未通过 |
| 160. 相交链表 | 简单 | 半通过 |
| 1836. 从未排序的链表中移除重复元素 | 中等 | 半通过 |
栈和队列
| 题目 | 难度 | |
|---|---|---|
| 20. 有效的括号 | 简单 | |
| 225. 用队列实现栈 | 简单 | 通过 |
| 232. 用栈实现队列 | 简单 | 通过 |
解题套路
链表双指针技巧
递归操作链表
| LeetCode | 力扣 | 难度 |
|---|---|---|
| 234. Palindrome Linked List | 234. 回文链表 | 🟢 |
| 206. Reverse Linked List | 206. 反转链表 | 🟢 |
| 92. Reverse Linked List II | 92. 反转链表 II | 🟠 |
| 25. Reverse Nodes in k-Group | 25. K 个一组翻转链表 | 🔴 |
数组双指针技巧
二维数组操作技巧
滑动窗口算法
二分搜索算法
前缀和/差分技巧
栈
队列
单调栈技巧
单调队列技巧
二叉树
二叉搜索树
数据结构设计
图相关算法
DFS/回溯算法
BFS 算法
动态规划
贪心算法
| LeetCode | 力扣 | 难度 |
|---|---|---|
| 55. Jump Game | 55. 跳跃游戏 | 🟠 |
| 45. Jump Game II | 45. 跳跃游戏 II | 🟠 |
| 134. Gas Station | 134. 加油站 | 🟠 |
分治算法
| LeetCode | 力扣 | 难度 |
|---|---|---|
| 23. Merge k Sorted Lists | 23. 合并K个升序链表 | 🔴 |
| 241. Different Ways to Add Parentheses | 241. 为运算表达式设计优先级 | 🟠 |