矩阵
- 54. 螺旋矩阵 M
- 59. 螺旋矩阵 II M
- 240. 搜索二维矩阵 II T
[ ] 498. 对角线遍历 T
哈希
[ ] 41. 缺失的第一个正数 M
- 242. 有效的字母异位词 M
- 380. O(1) 时间插入、删除和获取随机元素 M
[ ] 442. 数组中重复的数据 M
链表
[ ] 2. 两数相加 T
- 19. 删除链表的倒数第N个节点 T
- 23. 合并K个排序链表 M
- 24. 两两交换链表中的节点 T
- 25.K个一组翻转链表
- 61. 旋转链表
- 86. 分隔链表 M
- 92.反转链表II
- 141. 环形链表 T
- 142. 环形链表 II X
- 143. 重排链表 T
- 146. LRU缓存机制 X
- 148. 排序链表 M
- 160. 相交链表 T
- 234.回文链表
- 328. 奇偶链表 T
- 445. 两数相加 II T
- 460. LFU缓存
- 剑指 Offer 22. 链表中倒数第k个节
- 剑指 Offer 25. 合并两个排序的链表 T
-
二叉树
[ ] 94.二叉树的中序遍历 M(要求掌握模拟栈非递归和Morris遍历)
- 95.输出不同的二叉搜索树II
- 96.统计不同的二叉搜索树
- 98.验证二叉搜索树 X
- 102.二叉树的层序遍历 T
- 103. 二叉树的锯齿形层次遍历 T
- 105.从前序与中序遍历序列构造二叉树
- 106.从中序与后序遍历序列构造二叉树
- 114.二叉树展开为链表
- 116.填充每个节点的下一个右侧节点指针
- 144.二叉树的前序遍历 T (要求掌握模拟栈非递归和Morris遍历)
- 145.二叉树的后序遍历 M(要求掌握模拟栈非递归和Morris遍历)
- 226.翻转二叉树
- 230.BST第K小的元素
- 297.二叉树的序列化和反序列化 X
- 450.删除二叉搜索树中的节点 M
- 538.二叉搜索树转化累加树
- 652.寻找重复的子树
- 654.最大二叉树
- 662. 二叉树最大宽度 X
- 700.二叉搜索树中的搜索
- 701.二叉搜索树中的插入操作
- 1038.BST转累加树
- 1373.二叉搜索子树的最大键值和
- 剑指 Offer 26. 树的子结构 M
- 剑指 Offer 27. 二叉树的镜像 T
- 剑指 Offer 28. 对称的二叉树
- 剑指 Offer 32 - I. 从上到下打印二叉树
- 剑指 Offer 32 - II.
- 剑指 Offer 32 - III.
-
优先队列
[ ] 295. 数据流的中位数 M
字符串
[ ] 8. 字符串转换整数 (atoi) M
- 28. 实现 strStr() X
- 43. 字符串相乘
- 125. 验证回文串 T
- 151. 翻转字符串里的单词 M
- 165. 比较版本号 T
- 415. 字符串相加 M
- 459. 重复的子字符串 X
- 468. 验证IP地址 T
[ ] 牛客330 36进制加法 M
栈与队列
[ ] 71. 简化路径 T
- 224. 基本计算器 X
- 225. 用队列实现栈 X
- 227. 基本计算器 II X
- 232. 用栈实现队列 T
- 394. 字符串解码 X
- 402. 移掉K位数字 M
- 503. 下一个更大元素 II X
- 622. 设计循环队列 M
- 670. 最大交换 T
- 739. 每日温度 X
- 862. 和至少为 K 的最短子数组 X
- 1047. 删除字符串中的所有相邻重复项 T
- 剑指 Offer 31. 栈的压入、弹出序列
- 剑指 Offer 30. 包含min函数的栈 T
[ ] 剑指 Offer 59 - I. 滑动窗口的最大值 M
回溯
[ ] 22. 括号生成 M
- 37. 解数独 T
- 39. 组合总和 M
- 40. 组合总和 II X
- 46.全排列
- 47.全排列 II
- 78. 子集 M
- 79. 单词搜索 M
- 90.子集II M
- 93. 复原IP地址 M
- 113. 路径总和 II M
- 329. 矩阵中的最长递增路径 T
- 679. 24 点游戏 X
- 695. 岛屿的最大面积 T
- 剑指Offer 12. 矩阵中的路径 X
- 剑指Offer 13.机器人的运动范围 X
[ ] 剑指 Offer 38. 字符串的排列 T
贪心与动态规划
[ ] 10. 正则表达式匹配 X
- 21. 买卖股票的最佳时机 T
- 32. 最长有效括号 X
- 44. 通配符匹配 M
- 45. 跳跃游戏 II M
- 55. 跳跃游戏 M
- 62. 不同路径 T
- 63. 不同路径 II T
- 72. 编辑距离 X
- 91. 解码方法 M
- 96. 不同的二叉搜索树 T
- 97. 交错字符串 X
- 115. 不同的子序列 X
- 120. 三角形最小路径和 T
- 122. 买卖股票的最佳时机 II M
- 123. 买卖股票的最佳时机 III X
- 134. 加油站 X
- 135. 分发糖果 M
- 139. 单词拆分 T
- 152. 乘积最大子数组 T
- 188. 买卖股票的最佳时机 IV M
- 198. 打家劫舍 T
- 213. 打家劫舍 II X
- 221. 最大正方形 M
- 264. 丑数 II X
- 300. 最长上升子序列 M
- 309. 最佳买卖股票时机含冷冻期
- 322.零钱兑换 X
- 337. 打家劫舍 III T
- 494. 目标和 X
- 516. 最长回文子序列 X
- 518. 零钱兑换 II X
- 647. 回文子串 T
- 679. 24 点游戏 X
- 714. 买卖股票的最佳时机含手续费
- 1143. 最长公共子序列 X
- 剑指 Offer 10- II. 青蛙跳台阶问题 T
- 剑指Offer 14-1 剪绳子 数学推导
- 剑指Offer 14-2 剪绳子
- 剑指 Offer 42.连续子数组的最大和
- 剑指 Offer 43.1~n 整数中 1 出现的 M
- 剑指 Offer 45.把数组排成最小的数 数学推导
- 剑指 Offer 46.把数字翻译成字符串 X M
- 剑指 Offer 47.礼物的最大价值 M
- 剑指 Offer 49.丑数 X
- 剑指 Offer 60. n个骰子的点数 X
- 剑指 Offer 61.扑克牌中的顺子 M
- 剑指 Offer 62. 圆圈中最后剩下的数字
[ ] 补充题2. 圆环回原点问题 M
排序
[ ] 23. 合并K个排序链表 M
- 179. 最大数 M
- 347. 前 K 个高频元素 M
- 919 · 会议室 II X(LeetCode会员题-转Lintcode)
- 剑指 Offer 40. 最小的k个数 M
- 剑指 Offer 45. 把数组排成最小的数 X
- 补充题4. 手撕快速排序
- 补充题6. 手撕堆排序
[ ] 补充题5. 手撕归并排序
二进制运算
[ ] 50. Pow(x, n) M
- 136. 只出现一次的数字 M
- 191. 位1的个数 M
- 268. 缺失数字 X
- 剑指 Offer 56 - I.数组中数字出现的次数 X
- 剑指 Offer 56 - II.数组中数字出现的次数 X
- 剑指 Offer 65. 不用加减乘除做加法 X
[ ] IP地址与int整数的转换(牛客)T
二分查找
[ ] 4. 寻找两个正序数组的中位数 X
- 34. 在排序数组中查找元素 M
- 69. x 的平方根
- 74. 搜索二维矩阵 M
- 153. 寻找旋转排序数组中的最小值 M
- 154. 寻找旋转排序数组中的最小值 II M
- 162. 寻找峰值 M
[ ] 704. 二分查找 T
前缀和
[ ] 53. 最大子数组和 T(进阶:返回最大子数组)
- 523. 连续的子数组和 M
- 560. 和为K的子数组 X
- 974. 和可被 K 整除的子数组 M
[ ] 面试题 17.24. 最大子矩阵 X
前缀树
[ ] 208. 实现 Trie (前缀树) T
[ ] 440. 字典序的第K小数字 X
多指针
[ ] 11. 盛最多水的容器 X
- 15. 三数之和 M
- 26. 删除排序数组中的重复项 T
- 31. 下一个排列 T
- 75. 颜色分类 M
- 88. 合并两个有序数组 M
- 283. 移动零 M
- 287. 寻找重复数 X
- 611. 有效三角形的个数 X
- 剑指 Offer 21. 调整数组顺序使奇数
- 剑指 Offer 48.最长不含重复字符的子 T
- 剑指 Offer 57.和为s的两个数字 X
[ ] 剑指 Offer 57 - II. 和为s的连续正数序列 X
滑动窗口
[ ] 76. 最小覆盖子串 X
- 209. 长度最小的子数组 T
- 718. 最长重复子数组 X
[ ] 1004. 最大连续1的个数 III X
分治
[ ] 241.为运算表达式设计优先级 T
- 剑指 Offer 33. 二叉搜索树的后序遍历序列 M
[ ] 剑指 Offer 51. 数组中的逆序对 X
图论
[ ] 207. 课程表 X
[ ] 210. 课程表 II T
数学与模拟
[ ] 7. 整数反转 T
- 9. 回文数 X
- 166. 分数到小数 M
- 168. Excel表列名称 X
- 169. 多数元素 T
- 189. 轮转数组 X
- 384. 打乱数组 T
- 400. 第N个数字 T
- 443. 压缩字符串 T
- 470. 用 Rand7() 实现 Rand10() X
- 556. 下一个更大元素 III T
- 剑指 Offer 44.数字序列中某一位的数字 M
- 剑指 Offer 61. 扑克牌中的顺子 M
- 剑指 Offer 62. 圆圈中最后剩下的数字 X
- 补充题14.阿拉伯数字转中文数字 M
