跳至主要內容

06. LeetCode 面试最常考 100 题(按分类排序)

ITCharge大约 17 分钟

LeetCode 面试最常考 100 题(按分类排序)

01. 数组

数组基础题目

题号标题题解标签难度
0054螺旋矩阵open in new windowPythonopen in new window数组、矩阵、模拟中等
0048旋转图像open in new windowPythonopen in new window数组、数学、矩阵中等

排序算法题目

选择排序题目

题号标题题解标签难度
0215数组中的第K个最大元素open in new windowPythonopen in new window数组、分治、快速选择、排序、堆(优先队列)中等

希尔排序题目

题号标题题解标签难度
0912排序数组open in new windowPythonopen in new window数组、分治、桶排序、计数排序、基数排序、排序、堆(优先队列)、归并排序中等

归并排序题目

题号标题题解标签难度
0912排序数组open in new windowPythonopen in new window数组、分治、桶排序、计数排序、基数排序、排序、堆(优先队列)、归并排序中等
0088合并两个有序数组open in new windowPythonopen in new window数组、双指针、排序简单

快速排序题目

题号标题题解标签难度
0912排序数组open in new windowPythonopen in new window数组、分治、桶排序、计数排序、基数排序、排序、堆(优先队列)、归并排序中等
0169多数元素open in new windowPythonopen in new window数组、哈希表、分治、计数、排序简单

堆排序题目

题号标题题解标签难度
0912排序数组open in new windowPythonopen in new window数组、分治、桶排序、计数排序、基数排序、排序、堆(优先队列)、归并排序中等
0215数组中的第K个最大元素open in new windowPythonopen in new window数组、分治、快速选择、排序、堆(优先队列)中等

计数排序题目

题号标题题解标签难度
0912排序数组open in new windowPythonopen in new window数组、分治、桶排序、计数排序、基数排序、排序、堆(优先队列)、归并排序中等

桶排序题目

题号标题题解标签难度
0912排序数组open in new windowPythonopen in new window数组、分治、桶排序、计数排序、基数排序、排序、堆(优先队列)、归并排序中等

其他排序题目

题号标题题解标签难度
0136只出现一次的数字open in new windowPythonopen in new window位运算、数组简单
0056合并区间open in new windowPythonopen in new window数组、排序中等
0179最大数open in new windowPythonopen in new window贪心、数组、字符串、排序中等

二分查找题目

二分下标题目

题号标题题解标签难度
0704二分查找open in new windowPythonopen in new window数组、二分查找简单
0034在排序数组中查找元素的第一个和最后一个位置open in new windowPythonopen in new window数组、二分查找中等
0153寻找旋转排序数组中的最小值open in new windowPythonopen in new window数组、二分查找中等
0033搜索旋转排序数组open in new windowPythonopen in new window数组、二分查找中等
0162寻找峰值open in new windowPythonopen in new window数组、二分查找中等
0004寻找两个正序数组的中位数open in new windowPythonopen in new window数组、二分查找、分治困难
0240搜索二维矩阵 IIopen in new windowPythonopen in new window数组、二分查找、分治、矩阵中等

二分答案题目

题号标题题解标签难度
0069x 的平方根open in new windowPythonopen in new window数学、二分查找简单

双指针题目

对撞指针题目

题号标题题解标签难度
0015三数之和open in new windowPythonopen in new window数组、双指针、排序中等

快慢指针题目

题号标题题解标签难度
0283移动零open in new windowPythonopen in new window数组、双指针简单
0088合并两个有序数组open in new windowPythonopen in new window数组、双指针、排序简单

分离双指针题目

题号标题题解标签难度
0415字符串相加open in new windowPythonopen in new window数学、字符串、模拟简单

滑动窗口题目

固定长度窗口题目

题号标题题解标签难度
0239滑动窗口最大值open in new windowPythonopen in new window队列、数组、滑动窗口、单调队列、堆(优先队列)困难

不定长度窗口题目

题号标题题解标签难度
0003无重复字符的最长子串open in new windowPythonopen in new window哈希表、字符串、滑动窗口中等
0076最小覆盖子串open in new windowPythonopen in new window哈希表、字符串、滑动窗口困难
0718最长重复子数组open in new windowPythonopen in new window数组、二分查找、动态规划、滑动窗口、哈希函数、滚动哈希中等

02. 链表

链表经典题目

题号标题题解标签难度
0083删除排序链表中的重复元素open in new windowPythonopen in new window链表简单
0082删除排序链表中的重复元素 IIopen in new windowPythonopen in new window链表、双指针中等
0206反转链表open in new windowPythonopen in new window递归、链表简单
0092反转链表 IIopen in new windowPythonopen in new window链表中等
0025K 个一组翻转链表open in new windowPythonopen in new window递归、链表困难
0234回文链表open in new windowPythonopen in new window栈、递归、链表、双指针简单

链表排序题目

题号标题题解标签难度
0148排序链表open in new windowPythonopen in new window链表、双指针、分治、排序、归并排序中等
0021合并两个有序链表open in new windowPythonopen in new window递归、链表简单
0023合并 K 个升序链表open in new windowPythonopen in new window链表、分治、堆(优先队列)、归并排序困难

链表双指针题目

题号标题题解标签难度
0141环形链表open in new windowPythonopen in new window哈希表、链表、双指针简单
0142环形链表 IIopen in new windowPythonopen in new window哈希表、链表、双指针中等
0160相交链表open in new windowPythonopen in new window哈希表、链表、双指针简单
0019删除链表的倒数第 N 个结点open in new windowPythonopen in new window链表、双指针中等
剑指 Offer 22链表中倒数第k个节点open in new windowPythonopen in new window链表、双指针简单
0143重排链表open in new windowPythonopen in new window栈、递归、链表、双指针中等
0002两数相加open in new windowPythonopen in new window递归、链表、数学中等

03. 堆栈

堆栈基础题目

题号标题题解标签难度
0155最小栈open in new windowPythonopen in new window栈、设计中等
0020有效的括号open in new windowPythonopen in new window栈、字符串简单
0227基本计算器 IIopen in new windowPythonopen in new window栈、数学、字符串中等
0232用栈实现队列open in new windowPythonopen in new window栈、设计、队列简单
0394字符串解码open in new windowPythonopen in new window栈、递归、字符串中等
0032最长有效括号open in new windowPythonopen in new window栈、字符串、动态规划困难

单调栈

题号标题题解标签难度
0042接雨水open in new windowPythonopen in new window栈、数组、双指针、动态规划、单调栈困难

04. 队列

队列基础题目

题号标题题解标签难度
0225用队列实现栈open in new windowPythonopen in new window栈、设计、队列简单

优先队列题目

题号标题题解标签难度
0023合并 K 个升序链表open in new windowPythonopen in new window链表、分治、堆(优先队列)、归并排序困难
0239滑动窗口最大值open in new windowPythonopen in new window队列、数组、滑动窗口、单调队列、堆(优先队列)困难

05. 哈希表

哈希表题目

题号标题题解标签难度
0001两数之和open in new windowPythonopen in new window数组、哈希表简单
0015三数之和open in new windowPythonopen in new window数组、双指针、排序中等
0041缺失的第一个正数open in new windowPythonopen in new window数组、哈希表困难
0128最长连续序列open in new windowPythonopen in new window并查集、数组、哈希表中等
0136只出现一次的数字open in new windowPythonopen in new window位运算、数组简单

06. 字符串

字符串基础题目

题号标题题解标签难度
0003无重复字符的最长子串open in new windowPythonopen in new window哈希表、字符串、滑动窗口中等
0005最长回文子串open in new windowPythonopen in new window字符串、动态规划中等
0415字符串相加open in new windowPythonopen in new window数学、字符串、模拟简单
0151反转字符串中的单词open in new windowPythonopen in new window双指针、字符串中等
0043字符串相乘open in new windowPythonopen in new window数学、字符串、模拟中等
0014最长公共前缀open in new windowPythonopen in new window字典树、字符串简单

07. 树

二叉树的遍历题目

题号标题题解标签难度
0144二叉树的前序遍历open in new windowPythonopen in new window栈、树、深度优先搜索、二叉树简单
0094二叉树的中序遍历open in new windowPythonopen in new window栈、树、深度优先搜索、二叉树简单
0102二叉树的层序遍历open in new windowPythonopen in new window树、广度优先搜索、二叉树中等
0103二叉树的锯齿形层序遍历open in new windowPythonopen in new window树、广度优先搜索、二叉树中等
0236二叉树的最近公共祖先open in new windowPythonopen in new window树、深度优先搜索、二叉树中等
0104二叉树的最大深度open in new windowPythonopen in new window树、深度优先搜索、广度优先搜索、二叉树简单
0112路径总和open in new windowPythonopen in new window树、深度优先搜索、广度优先搜索、二叉树简单
0113路径总和 IIopen in new windowPythonopen in new window树、深度优先搜索、回溯、二叉树中等
0101对称二叉树open in new windowPythonopen in new window树、深度优先搜索、广度优先搜索、二叉树简单
0124二叉树中的最大路径和open in new windowPythonopen in new window树、深度优先搜索、动态规划、二叉树困难
0199二叉树的右视图open in new windowPythonopen in new window树、深度优先搜索、广度优先搜索、二叉树中等
0226翻转二叉树open in new windowPythonopen in new window树、深度优先搜索、广度优先搜索、二叉树简单

二叉树的还原题目

题号标题题解标签难度
0105从前序与中序遍历序列构造二叉树open in new windowPythonopen in new window树、数组、哈希表、分治、二叉树中等

二叉搜索树题目

题号标题题解标签难度
0098验证二叉搜索树open in new windowPythonopen in new window树、深度优先搜索、二叉搜索树、二叉树中等
0110平衡二叉树open in new windowPythonopen in new window树、深度优先搜索、二叉树简单

并查集题目

题号标题题解标签难度
0128最长连续序列open in new windowPythonopen in new window并查集、数组、哈希表中等

08. 图论

图的深度优先搜索题目

题号标题题解标签难度
0200岛屿数量open in new windowPythonopen in new window深度优先搜索、广度优先搜索、并查集、数组、矩阵中等
0695岛屿的最大面积open in new windowPythonopen in new window深度优先搜索、广度优先搜索、并查集、数组、矩阵中等
0144二叉树的前序遍历open in new windowPythonopen in new window栈、树、深度优先搜索、二叉树简单
0094二叉树的中序遍历open in new windowPythonopen in new window栈、树、深度优先搜索、二叉树简单
0129求根节点到叶节点数字之和open in new windowPythonopen in new window树、深度优先搜索、二叉树中等
0124二叉树中的最大路径和open in new windowPythonopen in new window树、深度优先搜索、动态规划、二叉树困难
0199二叉树的右视图open in new windowPythonopen in new window树、深度优先搜索、广度优先搜索、二叉树中等
0543二叉树的直径open in new windowPythonopen in new window树、深度优先搜索、二叉树简单
0662二叉树最大宽度open in new windowPythonopen in new window树、深度优先搜索、广度优先搜索、二叉树中等

图的广度优先搜索题目

题号标题题解标签难度
0200岛屿数量open in new windowPythonopen in new window深度优先搜索、广度优先搜索、并查集、数组、矩阵中等
0322零钱兑换open in new windowPythonopen in new window广度优先搜索、数组、动态规划中等
0199二叉树的右视图open in new windowPythonopen in new window树、深度优先搜索、广度优先搜索、二叉树中等
0662二叉树最大宽度open in new windowPythonopen in new window树、深度优先搜索、广度优先搜索、二叉树中等

09. 基础算法

枚举算法题目

题号标题题解标签难度
0001两数之和open in new windowPythonopen in new window数组、哈希表简单
0078子集open in new windowPythonopen in new window位运算、数组、回溯中等
0221最大正方形open in new windowPythonopen in new window数组、动态规划、矩阵中等

递归算法题目

题号标题题解标签难度
0024两两交换链表中的节点open in new windowPythonopen in new window递归、链表中等
0206反转链表open in new windowPythonopen in new window递归、链表简单
0092反转链表 IIopen in new windowPythonopen in new window链表中等
0021合并两个有序链表open in new windowPythonopen in new window递归、链表简单
0070爬楼梯open in new windowPythonopen in new window记忆化搜索、数学、动态规划简单
0104二叉树的最大深度open in new windowPythonopen in new window树、深度优先搜索、广度优先搜索、二叉树简单
0124二叉树中的最大路径和open in new windowPythonopen in new window树、深度优先搜索、动态规划、二叉树困难
0226翻转二叉树open in new windowPythonopen in new window树、深度优先搜索、广度优先搜索、二叉树简单

分治算法题目

题号标题题解标签难度
0053最大子数组和open in new windowPythonopen in new window数组、分治、动态规划中等
0023合并 K 个升序链表open in new windowPythonopen in new window链表、分治、堆(优先队列)、归并排序困难
0004寻找两个正序数组的中位数open in new windowPythonopen in new window数组、二分查找、分治困难
0169多数元素open in new windowPythonopen in new window数组、哈希表、分治、计数、排序简单
0014最长公共前缀open in new windowPythonopen in new window字典树、字符串简单

回溯算法题目

题号标题题解标签难度
0046全排列open in new windowPythonopen in new window数组、回溯中等
0022括号生成open in new windowPythonopen in new window字符串、动态规划、回溯中等
0078子集open in new windowPythonopen in new window位运算、数组、回溯中等
0039组合总和open in new windowPythonopen in new window数组、回溯中等
0093复原 IP 地址open in new windowPythonopen in new window字符串、回溯中等

贪心算法题目

题号标题题解标签难度
0053最大子数组和open in new windowPythonopen in new window数组、分治、动态规划中等
0056合并区间open in new windowPythonopen in new window数组、排序中等
0122买卖股票的最佳时机 IIopen in new windowPythonopen in new window贪心、数组中等

位运算题目

题号标题题解标签难度
0136只出现一次的数字open in new windowPythonopen in new window位运算、数组简单

10. 动态规划

动态规划题目

题号标题题解标签难度
0070爬楼梯open in new windowPythonopen in new window记忆化搜索、数学、动态规划简单
0121买卖股票的最佳时机open in new windowPythonopen in new window数组、动态规划简单
0322零钱兑换open in new windowPythonopen in new window广度优先搜索、数组、动态规划中等
0300最长递增子序列open in new windowPythonopen in new window数组、二分查找、动态规划中等
1143最长公共子序列open in new windowPythonopen in new window字符串、动态规划中等
0718最长重复子数组open in new windowPythonopen in new window数组、二分查找、动态规划、滑动窗口、哈希函数、滚动哈希中等
0064最小路径和open in new windowPythonopen in new window数组、动态规划、矩阵中等
0072编辑距离open in new windowPythonopen in new window字符串、动态规划困难
0032最长有效括号open in new windowPythonopen in new window栈、字符串、动态规划困难
0221最大正方形open in new windowPythonopen in new window数组、动态规划、矩阵中等
0062不同路径open in new windowPythonopen in new window数学、动态规划、组合数学中等
0152乘积最大子数组open in new windowPythonopen in new window数组、动态规划中等
0198打家劫舍open in new windowPythonopen in new window数组、动态规划中等

11. 补充题目

设计数据结构题目

题号标题题解标签难度
0146LRU 缓存open in new window设计、哈希表、链表、双向链表中等

模拟题目

题号标题题解标签难度
0008字符串转换整数 (atoi)open in new windowPythonopen in new window字符串中等
0165比较版本号open in new window双指针、字符串中等
0468验证IP地址open in new windowPythonopen in new window字符串中等

思维锻炼题目

题号标题题解标签难度
0031下一个排列open in new window数组、双指针中等
0470用 Rand7() 实现 Rand10()open in new window数学、拒绝采样、概率与统计、随机化中等

参考资料