序号 | 题目 | 难度 | 标签 |
---|---|---|---|
0001 | 两数之和 | 简单 | 哈希表 |
0002 | 两数相加 | 中等 | 手写哈希表 |
0003 | 无重复字符的最长子串 | 中等 | 滑动窗口、哈希 |
0004 | 寻找两个正序数组的中位数 | 困难 | 二分法 |
0005 | Longest Palindromic Substring | 中等 | |
0006 | ZigZag Conversion | 中等 | |
0007 | Reverse Integer | 简单 | |
0008 | String to Integer (atoi) | 中等 | |
0009 | Palindrome Number | 简单 | |
0011 | Container With Most Water | 中等 | |
0012 | Integer to Roman | 中等 | |
0013 | Roman to Integer | 简单 | |
0014 | Longest Common Prefix | 简单 | |
0015 | 3Sum | 中等 | |
0017 | 电话号码的字母组合 | 中等 | 回溯算法、深度优先 |
0019 | 删除链表的倒数第 N 个结点 | 中等 | 链表、快慢指针 |
0020 | 有效的括号 | 简单 | 栈 |
0021 | 合并两个有序链表 | 简单 | 递归、迭代 |
0023 | 合并K个升序链表 | 困难 | 链表、归并、堆? |
0026 | 删除有序数组中的重复项 | 简单 | 双指针 |
0027 | Remove Element | 简单 | |
0028 | 实现 strStr() | 简单 | KMP算法 |
0032 | 最长有效括号 | 困难 | 动态规划、栈 |
0033 | 搜索旋转排序数组 | 困难 | 动态规划、栈 |
0034 | 在排序数组中查找元素的第一个和最后一个位置 | 中等 | 二分法 |
0035 | 搜索插入位置 | 简单 | |
0037 | 解数独 | 困难 | 递归、回溯 |
0038 | Count and Say | 简单 | |
0042 | 接雨水 | 困难 | 双指针 |
0043 | 字符串相乘 | 中等 | ??? |
0046 | 全排列 | 中等 | 递归、回溯 |
0050 | powx-n | 中等 | |
0051 | N 皇后 | 困难 | 递归、回溯、深度优先 |
0053 | 最大子序和 | 简单 | 分治、动态规划 |
0061 | 旋转链表 | 中等 | 链表、遍历 |
0069 | x 的平方根 | 简单 | 二分查找 |
0070 | 爬楼梯 | 简单 | 动态规划、递归 |
0071 | 有效的括号 | 简单 | 栈 |
0075 | 颜色分类 | 中等 | 指针、数组、荷兰国旗问题 |
0076 | 最小覆盖子串 | 中等 | 滑动窗口优化 |
0077 | 组合 | 中等 | 递归 |
0082 | 删除排序链表中的重复元素 II | 中等 | 链表、双指针 |
0084 | 柱状图中最大的矩形 | 困难 | 单调栈 |
0088 | Merge Sorted Array | 简单 | |
94 | 二叉树的中序遍历 | 简单 | 递归、迭代 |
96 | 不同的二叉搜索树 | 中等 | 动态规划、树 |
98 | 验证二叉搜索树 | 中等 | 递归、中序遍历 |
0100 | 相同的树 | 简单 | |
0101 | 对称二叉树 | 简单 | 递归、迭代 |
0102 | 二叉树的层序遍历 | 中等 | 树、广度+队列 |
0103 | 二叉树的锯齿形层序遍历 | 中等 | 树、广度+队列 |
0104 | 二叉树的最大深度 | 简单 | 深度优先 |
0105 | 从前序与中序遍历序列构造二叉树 | 中等 | 树、递归 |
0108 | 将有序数组转换为二叉搜索树 | 简单 | 树、递归 |
0113 | 合并二叉树 | 简单 | 深度、广度优先搜索 |
0114 | 二叉树展开为链表 | 中等 | 树DFS、迭代、前驱节点 |
0116 | 填充每个节点的下一个右侧节点指针 | 中等 | 层次遍历、深度、广度优先搜索 |
0120 | 三角形最小路径和 | 中等 | 动态规划 |
0121 | 买卖股票的最佳时机 | 简单 | 动态规划 |
0122 | 买卖股票的最佳时机 II | 简单 | 动态规划、注意转换方程式 |
0124 | 二叉树中的最大路径和 | 困难 | 递归、二叉树 |
0128 | 最长连续序列 | 中等 | hash + 并查集 |
0136 | 只出现一次的数字 | 简单 | 位运算、异或 |
0138 | 复制带随机指针的链表 | 中等 | 回溯+哈希、迭代 |
0141 | 环形链表 | 简单 | 链表、双指针 |
0142 | 环形链表II | 中等 | 链表、双指针 |
0144 | 二叉树的前序遍历 | 中等 | 树DFS、BFS |
0146 | LRU 缓存机制 | 中等 | uthash、数据结构设计 |
0148 | 排序链表 | 中等 | 链表排序、归并 |
0149 | 直线上最多的点数 | 困难 | 循环、最大公约数、斜率 |
0150 | 逆波兰表达式求值 | 中等 | 栈 |
0155 | 最小栈 | 简单 | 辅助栈 |
0159 | 至多包含两个不同字符的最长子串 | 中等 | 滑动窗口 |
0160 | 相交链表 | 简单 | 链表 |
0162 | 寻找峰值 | 中等 | 二分法 |
0167 | 两数之和 II - 输入有序数组 | 简单 | 链表 |
0169 | 多数元素 | 简单 | 哈希、摩尔投票法、排序、随机 |
0189 | 旋转数组 | 中等 | 双指针 |
0190 | 颠倒二进制位 | 简单 | 位运算、分治 |
0191 & 剑指 Offer 15 | 位1的个数、二进制中1的个数 | 简单 | 位运算 |
0198 | 打家劫舍 | 中等 | 动态规划,其他做法? |
0200 | Number of Islands | 中等 | DFS、BFS、并查集模板记忆 |
0206 | 反转链表 | 简单 | 递归、回溯 |
0208 | 实现 Trie (前缀树) | 中等 | 前缀树 |
0209 | 长度最小的子数组 | 中等 | 滑动窗口 |
0215 | 数组中的第K个最大元素 | 中等 | 快速排序、堆排序 |
0217 | 存在重复元素 | 简单 | 哈希、排序 |
218 | 天际线问题 | 困难 | 扫描线、优先队列 |
0227 | 227. 基本计算器 II | 中等 | 栈、字符串表达式 |
0230 | 二叉搜索树中第K小的元素 | 中等 | 链表、二叉搜索树 |
0231 | 2 的幂 | 简单 | 位运算、递归 |
0234 | 回文链表 | 简单 | 链表、递归遍历 |
0235 | 二叉搜索树的最近公共祖先 | 简单 | 链表 |
0236 | 二叉树的最近公共祖先 | 中等 | 链表、二叉搜索树 |
0237 | 删除链表中的节点 | 简单 | 链表 |
0238 | 除自身以外数组的乘积 | 中等 | 前缀乘积 |
0239 | 滑动窗口最大值 | 困难 | 滑动窗口、单调队列、同剑指 Offer 59 - I |
0240 | 搜索二维矩阵 II | 中等 | 二分查找 |
253 | 会议室 II | 中等 | 优先队列、排序 |
0254 | 因子的组合 | 中等 | 递归、回溯 |
0283 | 移动零 | 简单 | 双指针 |
0286 | 墙与门 | 中等 | 广度优先搜索 |
0287 | 寻找重复数 | 中等 | 双指针、快慢指针 |
0292 | Nim 游戏 | 简单 | 数学推理 |
0295 | 数据流的中位数 | 困难 | 优先队列 |
0297 | 二叉树的序列化与反序列化 | 困难 | 树DFS\BFS、序列化与反序列化 |
0300 | 最长递增子序列 | 中等 | 动态规划、贪心 + 二分查找 |
0309 | 最佳买卖股票时机含冷冻期 | 中等 | 动态规划 |
0315 | 计算右侧小于当前元素的个数 | 困难 | 离散化树状数组、归并排序 |
0325 | 和等于 k 的最长子数组长度 | 中等 | 前缀和 + hash |
0328 | 奇偶链表 | 中等 | 链表 |
0340 | 至多包含 K 个不同字符的最长子串 | 中等 | 滑动窗口 |
0341 | 扁平化嵌套列表迭代器 | 中等 | 队列、递归 |
0342 | 4的幂 | 简单 | 位运算 |
0344 | Reverse String | 简单 | |
0347 | 前 K 个高频元素 | 中等 | 优先队列、uthash\哈希 |
0350 | 两个数组的交集 II | 简单 | 哈希、双指针、排序 |
0378 | 有序矩阵中第 K 小的元素 | 中等 | 二分法、归并排序? |
0387 | 字符串中的第一个唯一字符 | 简单 | 哈希+队列 |
0394 | 字符串解码 | 中等 | 栈、递归、字符串 |
0403 | 青蛙过河 | 困难 | 动态规划,其他方法? |
0417 | 太平洋大西洋水流问题 | 中等 | 深度优先搜索、广度没做? |
0438 | 找到字符串中所有字母异位词 | 中等 | 滑动窗口 |
0452 | 用最少数量的箭引爆气球 | 中等 | 贪心+快排 |
0459 | 重复的子字符串 | 简单 | 字符串、枚举、KMP算法(待) |
0461 | 汉明距离 | 简单 | 位运算 |
0463 | 岛屿的周长 | 简单 | |
0472 | 连接词 | 困难 | 字典树、深度优先搜索 |
0474 | 一和零 | 中等 | 动态规划、背包问题 |
0477 | 汉明距离 | 中等 | 位运算 |
0494 | 目标和 | 中等 | 动态规划、回溯算法 |
0509 | 斐波那契数 | 简单 | 动态规划 |
510 | 二叉搜索树中的中序后继 II | 中等 | 树、遍历 |
0523 | 连续的子数组和 | 中等 | 前缀和+哈希+同余定理 |
0542 | 01 矩阵 | 中等 | 广度遍历、动态规划 |
0547 | 省份数量 | 中等 | 深度/广度遍历、并查集 |
0560 | 和为K的子数组 | 中等 | 前缀和、哈希表实现、枚举 |
0567 | 字符串的排列 | 中等 | 滑动窗口 |
0582 | 杀掉进程 | 中等 | 并查集、深度优先 |
0605 | 种花问题 | 简单 | 贪心算法、分类 |
0617 | 合并二叉树 | 简单 | 深度、广度优先搜索 |
0622 | Design Circular Queue | 中等 | |
0628 | 三个数的最大乘积 | 简单 | 排序、优化 |
0643 | 子数组最大平均数 I | 简单 | 滑动窗口、数组、动态规划 |
0665 | 非递减数列 | 简单 | 数组 |
0695 | 岛屿的最大面积 | 中等 | 深度、广度优先搜索 |
0704 | 二分查找 | 简单 | 二分查找 |
0707 | 设计链表 | 中等 | 链表实现 |
0714 | 买卖股票的最佳时机含手续费 | 中等 | 动态规划 |
0733 | 图像渲染 | 简单 | 深度、广度优先搜索 |
0739 | 每日温度 | 中等 | 单调栈、遍历、数组处理 |
0746 | 使用最小花费爬楼梯 | 简单 | 动态规划 |
0752 | 打开转盘锁 | 中等 | 广度优先搜索+hash |
0765 | Couples Holding Hands | 困难 | |
0784 | 字母大小写全排列 | 中等 | 递归、深度 |
0809 | Expressive Words | 中等 | |
0820 | 单词的压缩编码 | 中等 | ?再看 |
0825 | 适龄的朋友 | 中等 | 排序、双指针 |
0832 | 翻转图像 | 简单 | 位运算、循环 |
0852 | 山脉数组的峰顶索引 | 简单 | 二分法 |
0863 | 二叉树中所有距离为 K 的结点 | 中等 | 深度递归、uthash |
0867 | Transpose Matrix | 简单 | |
0875 | 爱吃香蕉的珂珂 | 中等 | 二分法 |
0877 | 石子游戏 | 中等 | 动态规划 |
912 | 排序数组 | 简单 | 10个排序算法 |
0934 | 最短的桥 | 中等 | DFS + BFS |
0959 | 由斜杠划分区域 | 中等 | 并查集 |
0977 | 有序数组的平方 | 简单 | |
0978 | 最长湍流子数组 | 中等 | 动态规划、滑动窗口? |
0994 | 腐烂的橘子 | 中等 | 广度优先搜索 |
1004 | 最大连续1的个数 III | 中等 | 动态规划 + 优化 |
1049 | 最后一块石头的重量 II | 中等 | 动态规划 + 优化 |
1060 | 有序数组中的缺失元素 | 中等 | 二分法 |
1074 | 元素和为目标值的子矩阵数量 | 困难 | 前缀和、哈希、uthash.h |
1100 | 长度为 K 的无重复字符子串 | 中等 | 滑动窗口 |
1114 | Symmetric Tree | 简单 | |
1128 | 等价多米诺骨牌对的数量 | 简单 | 二元组、哈希 |
1137 | 第 N 个泰波那契数 | 简单 | 动态规划 |
1151 | 最少交换次数来组合所有的 1 | 中等 | 滑动窗口 |
1182 | 与目标颜色间的最短距离 | 中等 | 二分查找、动态规划未做 |
1192 | 查找集群内的「关键连接」 | 困难 | 深度优先、tarjan算法 |
1229 | 安排会议日程 | 中等 | 排序、双指针 |
1231 | 分享巧克力 | 困难 | 二分查找 |
1267 | 统计参与通信的服务器 | 中等 | 数组、循环 |
1319 | 连通网络的操作次数 | 中等 | 并查集 |
1368 | 使网格图至少有一条有效路径的最小代价 | 困难 | 广度优先搜索 |
1370 | 上升下降字符串 | 简单 | 字符串、哈希 |
1380 | 矩阵中的幸运数 | 简单 | 数组、预处理 |
1396 | 设计地铁系统 | 中等 | 哈希、uthash(继续做 ) |
1438 | 绝对差不超过限制的最长连续子数组 | 中等 | |
1469 | 寻找所有的独生节点 | 简单 | 深度、广度 |
1535 | Find the Winner of an Array Game | 中等 | |
1550 | 存在连续三个奇数的数组 | 简单 | 数组、符合& |
1552 | Magnetic Force Between Two Balls | 中等 | |
1576 | 替换所有的问号 | 简单 | 字符串处理 |
1588 | 所有奇数长度子数组的和 | 简单 | |
16.26 | Calculator LCCI | 中等 | |
17.10 | 主要元素 | 简单 | |
17.21 | 直方图的水量 | 困难 | 数组 |
1736 | 替换隐藏数字得到的最晚时间 | 简单 | 分类处理 |
1744 | 你能在你最喜欢的那天吃到你最喜欢的糖果吗? | 中等 | 前缀和、数组处理 |
1868 | 两个行程编码数组的积 | 中等 | 双指针、数组 |
1901 | 找出顶峰元素 II | 中等 | 二分法、分治、数组 |
2043 | 简易银行系统 | 中等 | 设计、数组 |
剑指 Offer 03 | 数组中重复的数字 | 简单 | STL、哈希 |
剑指 Offer 09 | 用两个栈实现队列 | 简单 | 栈、队列 |
剑指 Offer 30 | 包含min函数的栈 | 简单 | 栈 |
面试题 08.05 | 递归乘法 | 中等 | 递归 |
LCP 28 | 采购方案 | 简单 | 排序、双指针 |
K001 | 队列和广度优先 | ||
HW0604-1 | 简易音乐播放器 | 中等 | 设计、数据结构、uthash.h使用 |