数组
| 题号 | 题目 |
|---|---|
| leetcode 1 | 两数之和 |
| leetcode 59 | 螺旋矩阵II |
| leetcode 66 | 加一 |
| 剑指offer3 | 数组中重复的数字 |
| leetcode 75 | 颜色分类 |
| leetcode 54 | 螺旋矩阵 |
| leetcode 560 | 和为K的子数组 |
链表
| 题号 | |
|---|---|
| leetcode 21 | 合并两个有序链表 |
| leetcode 203 | 移除链表元素 |
| leetcode 206 | 反转链表 |
| leetcode 141 | 环形链表 |
| leetcode 86 | 分隔链表 |
| leetcode 61 | 旋转链表 |
| 剑指 Offer 22 | 链表中倒数第k个节点 |
| 剑指 Offer 52 | 两个链表的第一个公共节点 |
字符串
| 题号 | |
|---|---|
| leetcode 344 | 反转字符串 |
| 剑指 Offer 05 | 替换空格 |
| leetcode 151 | 翻转字符串里的单词 |
| 剑指offer 58 | 左旋转字符串 |
| leetcode 13 | 罗马数字转整数 |
哈希表
| 题号 | |
|---|---|
| leetcode 242 | 有效的字母异位词 |
| leetcode 1207 | 独一无二的出现次数 |
| 剑指 Offer 56 - I | 数组中数字出现的次数 |
| 剑指 Offer 56 - II | 数组中数字出现的次数 II |
| leetcode 349 | 两个数组的交集 |
| leetcode 1 | 两数之和 |
| leetcode 202 | 快乐数 |
栈和队列
| 题号 | |
|---|---|
| leetcode 20 | 有效的括号 |
| 剑指 Offer 09 | 用两个栈实现队列 |
| leetcode 225 | 用队列实现栈 |
| leetcode 1047 | 删除字符串中的所有相邻重复 |
| leetcode 1021 | 删除最外层的括号 |
二叉树
| 题号 | |
|---|---|
| leetcode 144 | 二叉树的前序遍历 |
| leetcode 94 | 二叉树的中序遍历 |
| leetcode 145 | 二叉树的后序遍历 |
| 剑指 Offer 27 | 二叉树的镜像 |
| 剑指 Offer 28 | 对称的二叉树 |
| 剑指 Offer 55 - I | 二叉树的深度 |
| 102 | 二叉树的层序遍历 |
| 404 | 左叶子之和 |
| 129 | 求根到叶子节点数字之和 |
| 106 | 从中序与后序遍历序列构造二叉树 |
| 剑指 Offer 07 | 重建二叉树 |
| 700 | 二叉搜索树中的搜索 |
| 98 | 验证二叉搜索树 |
| 96 | 不同的二叉搜索树 |
| 235 | 二叉搜索树的最近公共祖先 |
| 669 | 修剪二叉搜索树 |
图
| 题号 | |
|---|---|
| 841 | 钥匙和房间 |
| 133 | 克隆图 |
| 1162 | 地图分析 |
双指针
| 题号 | |
|---|---|
| leetcode 27 | 移除元素 |
| leetcode 209 | 长度最小的子数组 |
| leetcode 141 | 环形链表 II |
| leetcode 328 | 奇偶链表 |
| leetcode 15 | 三数之和 |
| leetcode 18 | 四数之和 |
二分查找
| 题号 | |
|---|---|
| leetcode 35 | 搜索插入位置 |
| leetcode 34 | 在排序数组中查找元素的第一个和最后一个 |
| leetcode 33 | 搜索旋转排序数组 |
| leetcode 81 | 搜索旋转排序数组 II |
| leetcode 153 | 寻找旋转排序数组中的最小值 |
| leetcode 74 | 搜索二维矩阵 |
| 剑指 Offer 53 - II | 0~n-1中缺失的数字 |
滑动窗口
| 题号 | |
|---|---|
| 剑指 Offer 42 | 连续子数组的最大和 |
| 剑指 Offer 59 - I | 滑动窗口的最大值 |
| 3 | 无重复字符的最长子串 |
| 209 | 长度最小的子数组 |
| 53 | 最大子序和 |
| 424 | 替换后的最长重复字符 |
贪心
| 题号 | |
|---|---|
| 455 | 分发饼干 |
| 376 | 摆动序列 |
| 53 | 最大子序和 |
| 860 | 柠檬水找零 |
| 122 | 买卖股票的最佳时机 II |
| 134 | 加油站 |
| 406 | 根据身高重建队列 |
| 452 | 用最少数量的箭引爆气球 |
| 56 | 合并区间 |
| 738 | 单调递增的数字 |
分治
| 题号 | |
|---|---|
| 53 | 最大子序和 |
| 169 | 多数元素 |
| 剑指 Offer 40 | 最小的k个数 |
| 215 | 数组中的第K个最大元素 |
| 23 | 合并K个升序链表 |
| 4 | 寻找两个正序数组的中位数 |
单调栈单调队列
| 题号 | |
|---|---|
| 155 | 最小栈 |
| 739 | 每日温度 |
| 剑指 Offer 59 - II | 队列的最大值 |
| 剑指 Offer 59 - I | 滑动窗口的最大值 |
| 42 | 接雨水 |
| 496 | 下一个更大元素 I搜索二维矩阵 |
| 503 | 下一个更大元素 II |
| 1081 | 不同字符的最小子序列 |
位运算
| 题号 | |
|---|---|
| 136 | 只出现一次的数字 |
| 137 | 只出现一次的数字 II |
| 260 | 只出现一次的数字 III |
| 剑指 Offer 65 | 不用加减乘除做加法 |
| 剑指 Offer 15 | 二进制中1的个数 |
回溯
| 题号 | |
|---|---|
| 77 | 组合 |
| 39 | 组合总和 |
| 40 | 组合总和 II |
| 216 | 组合总和 III |
| 46 | 全排列 |
| 47 | 全排列 II |
| 面试题 08.12 | 八皇后 |
| 51 | N 皇后 |
| 78 | 子集 |
动态规划
| 题号 | |
|---|---|
| 509 | 斐波那契数 |
| 70 | 爬楼梯 |
| 746 | 使用最小花费爬楼梯I |
| 121 | 买卖股票的最佳时机 |
| 64 | 最小路径和 |
| 198 | 打家劫舍 |
| 213 | 打家劫舍 II |
| 5 | 最长回文子串 |
| 120 | 三角形最小路径和 |
