Leetcode、剑指offer、笔试题刷题清单

一、剑指offer

1、数据结构

1.1 树与二叉树

面试题7:重建二叉树
面试题8:二叉树的下一个节点
面试题26:树的子结构
面试题27:二叉树的镜像
面试题28:对称的二叉树
面试题29:顺时针打印矩阵
面试题32:从上到下打印二叉树
面试题33:二叉搜索树的后序遍历序列
面试题34:二叉树中和为某一值的路径
面试题36:二叉搜索树与双向链表
面试题37:序列化二叉树
面试题54:二叉搜素数的第k大节点
面试题55:二叉树的深度

1.2 栈与队列

面试题9:用两个栈实现队列
面试题30:包含min函数的栈
面试题31:栈的压入、弹出序列
面试题59:队列的最大值

1.3 数组(查找与排序)

面试题3(I,II):数组中重复的数字
面试题4:二维数组中的查找
面试题21:调整数组顺序使技术位于偶数前面
面试题42:连续子数组的最大和
面试题50:第一个只出现一次的字符
面试题56:数组中数字出现的次数

1.4 链表

面试题6:从尾到头打印链表
面试题18:删除链表的节点
面试题22:链表中导数第k个节点
面试题23:链表中换的入口节点
面试题24:反转链表
面试题25:合并两个排序的链表
面试题35:复杂链表的复制
面试题36:二叉搜索树与双向链表
面试题52:两个链表的第一个公共节点

1.5 字符串

面试题5:替换空格
面试题19:正则表达式匹配
面试题20:表示数值的字符串
面试题38:字符串的排列
面试题46:把数字翻译成字符串
面试题58:翻转字符串

2.算法

2.1 动态规划与贪婪(递归与循环)

面试题10:斐波那契数列
面试题14:剪绳子
面试题42:连续子数组的最大和
面试题46:把数字翻译成字符串
面试题47:礼物的最大价值
面试题48:最长不含重复字符的子字符串

2.2 查找与排序

面试题11:旋转数组的最小数字
面试题39:数组中出现次数超过一半的数字
面试题40:最小的k个数
面试题41:数据流中中位数
面试题51:数组中的逆序对
面试题53:在排序数组中查找数字
面试题57:和为s的数字
面试题60:n个骰子的点数

2.3 回溯法

面试题12:矩阵中的路径

2.4 位运算

面试题15:二进制中1的个数
面试题56:数组中数字出现的次数

2.5 数学

面试题16:数值的整数次方
面试题17:打印从1到最大的n位数
面试题43:1-n整数中1出现的次数
面试题44:数字列表中的某一位的数字
面试题45:把数组排成最小的数
面试题49:丑数
面试题61:扑克牌中的顺子
面试题62:约瑟夫问题
面试题63:股票的最大利润

Leetcode高频题100

题号 题目 难度 标签

1 两数之和 简单
2 两数相加 中等
3 无重复字符的最长子串 中等
4 寻找两个有序数组的中位数 困难
5 最长回文子串 中等
10 正则表达式匹配 困难
11 盛最多水的容器 中等
15 三数之和 中等
17 电话号码的字母组合 中等
19 删除链表的倒数第N个节点 中等
20 有效的括号 简单
21 合并两个有序链表 简单
22 括号生成 中等
23 合并K个排序链表 困难
31 下一个排列 中等
32 最长有效括号 困难
33 搜索旋转排序数组 中等
34 在排序数组中查找元素的第一个和最后一个位置 中等
39 组合总和 中等
42 接雨水 困难
46 全排列 中等
48 旋转图像 中等
49 字母异位词分组 中等
53 最大子序和 简单
55 跳跃游戏 中等
56 合并区间 中等
62 不同路径 中等
64 最小路径和 中等
70 爬楼梯 简单
72 编辑距离 困难
75 颜色分类 中等
76 最小覆盖子串 困难
78 子集 中等
79 单词搜索 中等
84 柱状图中最大的矩形 困难
85 最大矩形 困难
94 二叉树的中序遍历 中等
96 不同的二叉搜索树 中等
98 验证二叉搜索树 中等
101 对称二叉树 简单
102 二叉树的层次遍历 中等
104 二叉树的最大深度 简单
105 从前序与中序遍历序列构造二叉树 中等
114 二叉树展开为链表 中等
121 买卖股票的最佳时机 简单
124 二叉树中的最大路径和 困难
128 最长连续序列 困难
136 只出现一次的数字 简单
139 单词拆分 中等
141 环形链表 简单
142 环形链表II 中等
146 LRU缓存机制 中等
148 排序链表 中等
152 乘积最大子序列 中等
155 最小栈 简单
160 相交链表 简单
169 求众数 简单
200 岛屿数量 中等
202 快乐数 简单
206 反转链表 简单
207 课程表 中等
208 实现 Trie (前缀树) 中等
215 数组中的第K个最大元素 中等
221 最大正方形 中等
226 翻转二叉树 简单
234 回文链表 简单
236 二叉树的最近公共祖先 中等
238 除自身以外数组的乘积 中等
239 滑动窗口最大值 困难
240 搜索二维矩阵 II 中等
253 会议室 II 中等
279 完全平方数 中等
283 移动零 简单
285 二叉搜索树中的顺序后继中等
287 寻找重复数 中等
297 二叉树的序列化与反序列化 困难
300 最长上升子序列 中等
301 删除无效的括号 困难
312 戳气球 困难
322 零钱兑换 中等
337 打家劫舍III 中等
338 比特位计数 中等
347 前 K 个高频元素 中等
394 字符串解码 中等
399 除法求值 中等
406 根据身高重建队列 中等
416 分割等和子集 中等
437 路径总和 III 简单
438 找到字符串中所有字母异位词 简单
448 找到所有数组中消失的数字 简单
461 汉明距离 简单
494 目标和 中等
538 把二叉搜索树转换为累加树 简单
543 二叉树的直径 简单
560 和为K的子数组 中等
581 最短无序连续子数组 简单
617 合并二叉树 简单
621 任务调度器 中等
647 回文子串 中等
739 每日温度 中等

二、LeetCode高频题目分类

Hash相关

q1_两数之和
q387_字符串中的第一个唯一字符

链表操作

q2_两数相加
q19_删除链表的倒数第N个节点
q25_k个一组翻转链表
q61_旋转链表
q138_复制带随机指针的链表
q206_反转链表

双指针遍历/滑动窗口

q3_无重复字符的最长子串
q11_盛最多水的容器
q15_三数之和
q16_最接近的三数之和
q26_删除排序数组中的重复项
q42_接雨水
q121_买卖股票的最佳时机
q209_长度最小的子数组

快慢指针遍历

q141_环形链表
q202_快乐数
q876_链表的中间结点

区间合并

q56_合并区间

字符串操作

q6_Z字形变换
q14_最长公共前缀
q763_划分字母区间

数字操作

q7_整数反转
q8_字符串转换整数
q9_回文数
q43_字符串相乘
q172_阶乘后的零
q258_各位相加

数组操作

q54_螺旋矩阵
q73_矩阵置零
q78_子集
q384_打乱数组
q581_最短无序连续子数组
q945_使数组唯一的最小增量

栈相关

q20_有效的括号
q32_最长有效括号
q155_最小栈
q224_基本计算器
q232_用栈实现队列
q316_去除重复字母

堆相关

q215_数组中的第K个最大元素
q347_前K个高频元素

递归

q21_合并两个有序链表
q101_对称二叉树
q104_二叉树的最大深度
q226_翻转二叉树
q236_二叉树的最近公共祖先

分治法/二分法

q23_合并K个排序链表
q33_搜索旋转排序数组
q34_在排序数组中查找元素的第一个和最后一个位置

动态规划

q5_最长回文子串
q53_最大子序和
q62_不同路径
q64_最小路径和
q70_爬楼梯
q118_杨辉三角
q300_最长上升子序列
q1143_最长公共子序列
q1277_统计全为1的正方形子矩阵

回溯法

q10_正则表达式匹配
q22_括号生成
q40_组合总和2
q46_全排列

树的遍历

q94_二叉树的中序遍历
q102_二叉树的层次遍历
q110_平衡二叉树
q144_二叉树的前序遍历
q145_二叉树的后序遍历

二叉搜索树相关

q98_验证二叉搜索树
q450_删除二叉搜索树中的节点
q701_二叉搜索树中的插入操作

三、 Leetcode玩转算法

第一天 数组问题

283、移动零
27. 移除元素
26. 删除排序数组中的重复项
80. 删除排序数组中的重复项 II
75. 颜色分类
88. 合并两个有序数组
215. 数组中的第K个最大元素
167. 两数之和 II - 输入有序数组
125. 验证回文串
344. 反转字符串
345. 反转字符串中的元音字母
11. 盛最多水的容器
209. 长度最小的子数组
3. 无重复字符的最长子串
438. 找到字符串中所有字母异位词
5. 最长回文子串
76. 最小覆盖子串

第二天 查找表问题

349 两个数组的交集
350. 两个数组的交集 II
202. 快乐数
242. 有效的字母异位词
290. 单词规律
205. 同构字符串
451. 根据字符出现频率排序
49. 字母异位词分组
1 两数之和
15. 三数之和
18. 四数之和
16. 最接近的三数之和
454. 四数相加 II
447. 回旋镖的数量
217. 存在重复元素
219. 存在重复元素 II
220. 存在重复元素 III

第三天 链表问题

206.反转链表
207. 反转链表 II
208. 删除排序链表中的重复元素
209. 合并两个有序链表
210. 合并K个升序链表
211. 分隔链表
328. 奇偶链表
2. 两数相加
203. 移除链表元素
82. 删除排序链表中的重复元素 II
237. 删除链表中的节点
445. 两数相加 II
147. 对链表进行插入排序
148. 排序链表
25. K 个一组翻转链表
61.旋转链表
234. 回文链表
剑指 Offer 22. 链表中倒数第k个节点
61. 旋转链表
143. 重排链表

第四天 二叉树与递归

104 二叉树的最大深度
111. 二叉树的最小深度
226. 翻转二叉树
110. 平衡二叉树
101. 对称二叉树
100. 相同的树
222. 完全二叉树的节点个数
113. 路径总和 II
112. 路径总和
404. 左叶子之和
257. 二叉树的所有路径
129. 求根到叶子节点数字之和
剑指 Offer 68 - I. 二叉搜索树的最近公共祖先
98. 验证二叉搜索树
230. 二叉搜索树中第K小的元素
108. 将有序数组转换为二叉搜索树
450. 删除二叉搜索树中的节点
437. 路径总和 III
剑指 Offer 26. 树的子结构
572. 另一个树的子树
617. 合并二叉树

第五天 栈,队列,优先队列

20.有效的括号
234. 回文链表
235. 二叉树的中序遍历
236. 二叉树的前序遍历
237. 二叉树的后序遍历
238. 扁平化嵌套列表迭代器
239. 二叉树的层次遍历 II
240. 二叉树的锯齿形层次遍历
241. 二叉树的右视图
242. 完全平方数
127.单词接龙
126.单词接龙2
244. 前 K 个高频元素
245. 合并K个升序链表

第六天 递归回溯问题

17 电话号码的字母组合
131. 分割回文串
132. 复原IP地址
133. 全排列
134. 全排列 II
135. 组合
136. 组合总和
137. 组合总和 II
138. 组合总和 III
139. 子集
140. 子集 II
141. 二进制手表
142. 单词搜索
143. 岛屿数量
144. 被围绕的区域
145. 太平洋大西洋水流问题
146. N 皇后
147. N皇后 II
37.数独问题

第七天 动态规划问题

70 爬楼梯
64. 最小路径和
65. 三角形最小路径和
66. 最小路径和
67. 整数拆分
68. 完全平方数
69. 解码方法
70. 不同路径
71. 不同路径 II
72. 打家劫舍
73. 打家劫舍 II
74. 打家劫舍 III
75. 最佳买卖股票时机含冷冻期
76. 分割等和子集
77. 零钱兑换
78. 组合总和 Ⅳ
79. 一和零
80. 目标和
81. 最长上升子序列
82. 摆动序列
83. 最长公共子序列
139.单词拆分

第八天 贪心算法

455 分发饼干
392. 判断子序列
279. 完全平方数
435. 无重叠区间

四、笔试面试题

面试题

小米实习面试

单例模式
相交链表

快手面试

最大k个数
求数组中sum=10的第一个连续子序列

字节面试

最大k个数
平衡二叉树

汇总

零钱兑换
前缀树
打印菱形矩阵
随机数产生转换-根据(1,5)随机数生成器,生成(1,7)之内的随机数
LRU
k个一组反转链表
最长不重复子序串
连续子数和等于N
连续子数组最大和
快排
最大公因数
两个栈实现一个队列
股票买卖系列
topK
树层次遍历第一层从左往右,第二层从右向左
判断链表有环,求环的入口
两个链表找交点
合并k个链表
二叉树前序遍历
最长公共子序列
最长上升子序列
接雨水
二维接雨水

笔试题

Bilibili笔试

顺时针打印矩阵
最大连续1的个数
求碎片的平均长度

招行网络科技

旋转图像
数组中只出现一次的两个数字

爱奇艺笔试题

不重复子串
找重复n/2的数字
三数之和

小米

[Leetcode977] 有序数组的平方
验证密码
[leetcode 79.单词搜索]

海康威视

SQL插入和查询
输出1000-2000中素数的个数和具体值
写一个简单工厂模式

京东笔试

[Leetcode168.Excel表的名称]
offer44数字序列中某一位的数字

字节实习面经

连续子数组求最值
字符串匹配
背包问题

其他

最大子序和
兑换钱币
分发饼干

字节跳动笔试题

第一题,最小循环子串
KMP
第二题,简单计算器,(后缀表达式)
快速幂
第三题,最佳火车站位置
哈夫曼距离
第四题,完美树

猜你喜欢

转载自blog.csdn.net/qq_38847154/article/details/108804918