CodeTop Top 100 热门题目(按题型分类)
数据来源:CodeTop
本文将高频面试题目按算法/数据结构类型重新分类整理,便于针对性练习。
统计信息
- 总数:100 道
- 各类型数量 :
- 树:21 道
- 链表:15 道
- 回溯:13 道
- 动态规划:9 道
- 栈/队列:8 道
- 字符串:8 道
- 二分查找:6 道
- 哈希表:5 道
- 滑动窗口:3 道
- 排序:3 道
- DFS/BFS:3 道
- 数组:2 道
- 贪心:2 道
- 堆:1 道
- 图:1 道
滑动窗口(3道)
| 排名 | 题号 | 题目名称 | 频度 | 链接 |
|---|---|---|---|---|
| 1 | 3 | 无重复字符的最长子串 | 1117 | LeetCode |
| 2 | 239 | 滑动窗口最大值 | 138 | LeetCode |
| 3 | 76 | 最小覆盖子串 | 128 | LeetCode |
哈希表(5道)
| 排名 | 题号 | 题目名称 | 频度 | 链接 |
|---|---|---|---|---|
| 4 | 146 | LRU缓存机制 | 909 | LeetCode |
| 5 | 15 | 三数之和 | 474 | LeetCode |
| 6 | 1 | 两数之和 | 298 | LeetCode |
| 7 | 169 | 多数元素 | 105 | LeetCode |
| 8 | 136 | 只出现一次的数字 | 88 | LeetCode |
数组(2道)
| 排名 | 题号 | 题目名称 | 频度 | 链接 |
|---|---|---|---|---|
| 9 | 54 | 螺旋矩阵 | 245 | LeetCode |
| 10 | 85 | 最大矩形 | 98 | LeetCode |
链表(15道)
| 排名 | 题号 | 题目名称 | 频度 | 链接 |
|---|---|---|---|---|
| 11 | 206 | 反转链表 | 739 | LeetCode |
| 12 | 25 | K 个一组翻转链表 | 512 | LeetCode |
| 13 | 21 | 合并两个有序链表 | 328 | LeetCode |
| 14 | 92 | 反转链表 II | 266 | LeetCode |
| 15 | 141 | 环形链表 | 247 | LeetCode |
| 16 | 143 | 重排链表 | 235 | LeetCode |
| 17 | 23 | 合并K个排序链表 | 231 | LeetCode |
| 18 | 160 | 相交链表 | 198 | LeetCode |
| 19 | 82 | 删除排序链表中的重复元素 II | 172 | LeetCode |
| 20 | 19 | 删除链表的倒数第N个节点 | 171 | LeetCode |
| 21 | 142 | 环形链表 II | 167 | LeetCode |
| 22 | 148 | 排序链表 | 140 | LeetCode |
| 23 | 234 | 回文链表 | 115 | LeetCode |
| 24 | 114 | 二叉树展开为链表 | 105 | LeetCode |
| 25 | 2 | 两数相加 | 98 | LeetCode |
字符串(8道)
| 排名 | 题号 | 题目名称 | 频度 | 链接 |
|---|---|---|---|---|
| 26 | 415 | 字符串相加 | 222 | LeetCode |
| 27 | 165 | 比较版本号 | 152 | LeetCode |
| 28 | 8 | 字符串转换整数 (atoi) | 129 | LeetCode |
| 29 | 202 | 快乐数 | 85 | LeetCode |
| 30 | 68 | 文本左右对齐 | 82 | LeetCode |
| 31 | 344 | 反转字符串 | 82 | LeetCode |
| 32 | 412 | Fizz Buzz | 78 | LeetCode |
| 33 | 204 | 计数质数 | 75 | LeetCode |
栈/队列(8道)
| 排名 | 题号 | 题目名称 | 频度 | 链接 |
|---|---|---|---|---|
| 34 | 20 | 有效的括号 | 287 | LeetCode |
| 35 | 42 | 接雨水 | 186 | LeetCode |
| 36 | 232 | 用栈实现队列 | 140 | LeetCode |
| 37 | 32 | 最长有效括号 | 136 | LeetCode |
| 38 | 84 | 柱状图中最大的矩形 | 105 | LeetCode |
| 39 | 394 | 字符串解码 | 102 | LeetCode |
| 40 | 224 | 基本计算器 | 88 | LeetCode |
| 41 | 227 | 基本计算器 II | 85 | LeetCode |
树(21道)
| 排名 | 题号 | 题目名称 | 频度 | 链接 |
|---|---|---|---|---|
| 42 | 102 | 二叉树的层序遍历 | 321 | LeetCode |
| 43 | 103 | 二叉树的锯齿形层次遍历 | 263 | LeetCode |
| 44 | 236 | 二叉树的最近公共祖先 | 257 | LeetCode |
| 45 | 124 | 二叉树中的最大路径和 | 176 | LeetCode |
| 46 | 199 | 二叉树的右视图 | 153 | LeetCode |
| 47 | 94 | 二叉树的中序遍历 | 139 | LeetCode |
| 48 | 112 | 路径总和 | 135 | LeetCode |
| 49 | 104 | 二叉树的最大深度 | 132 | LeetCode |
| 50 | 144 | 二叉树的前序遍历 | 130 | LeetCode |
| 51 | 101 | 对称二叉树 | 128 | LeetCode |
| 52 | 98 | 验证二叉搜索树 | 125 | LeetCode |
| 53 | 226 | 翻转二叉树 | 125 | LeetCode |
| 54 | 105 | 从前序与中序遍历序列构造二叉树 | 122 | LeetCode |
| 55 | 543 | 二叉树的直径 | 122 | LeetCode |
| 56 | 145 | 二叉树的后序遍历 | 118 | LeetCode |
| 57 | 617 | 合并二叉树 | 118 | LeetCode |
| 58 | 110 | 平衡二叉树 | 112 | LeetCode |
| 59 | 96 | 不同的二叉搜索树 | 108 | LeetCode |
| 60 | 108 | 将有序数组转换为二叉搜索树 | 108 | LeetCode |
| 61 | 100 | 相同的树 | 95 | LeetCode |
| 62 | 111 | 二叉树的最小深度 | 92 | LeetCode |
动态规划(9道)
| 排名 | 题号 | 题目名称 | 频度 | 链接 |
|---|---|---|---|---|
| 63 | 53 | 最大子数组和 | 367 | LeetCode |
| 64 | 5 | 最长回文子串 | 341 | LeetCode |
| 65 | 121 | 买卖股票的最佳时机 | 276 | LeetCode |
| 66 | 300 | 最长上升子序列 | 246 | LeetCode |
| 67 | 72 | 编辑距离 | 190 | LeetCode |
| 68 | 1143 | 最长公共子序列 | 177 | LeetCode |
| 69 | 10 | 正则表达式匹配 | 115 | LeetCode |
| 70 | 44 | 通配符匹配 | 112 | LeetCode |
| 71 | 70 | 爬楼梯 | 98 | LeetCode |
回溯(13道)
| 排名 | 题号 | 题目名称 | 频度 | 链接 |
|---|---|---|---|---|
| 72 | 46 | 全排列 | 295 | LeetCode |
| 73 | 93 | 复原IP地址 | 174 | LeetCode |
| 74 | 22 | 括号生成 | 142 | LeetCode |
| 75 | 31 | 下一个排列 | 133 | LeetCode |
| 76 | 79 | 单词搜索 | 112 | LeetCode |
| 77 | 51 | N 皇后 | 95 | LeetCode |
| 78 | 37 | 解数独 | 92 | LeetCode |
| 79 | 17 | 电话号码的字母组合 | 85 | LeetCode |
| 80 | 78 | 子集 | 82 | LeetCode |
| 81 | 52 | N 皇后 II | 78 | LeetCode |
| 82 | 39 | 组合总和 | 78 | LeetCode |
| 83 | 126 | 单词接龙 II | 75 | LeetCode |
| 84 | 40 | 组合总和 II | 75 | LeetCode |
二分查找(6道)
| 排名 | 题号 | 题目名称 | 频度 | 链接 |
|---|---|---|---|---|
| 85 | 33 | 搜索旋转排序数组 | 304 | LeetCode |
| 86 | 4 | 寻找两个正序数组的中位数 | 159 | LeetCode |
| 87 | 704 | 二分查找 | 140 | LeetCode |
| 88 | 69 | x 的平方根 | 138 | LeetCode |
| 89 | 41 | 缺失的第一个正数 | 108 | LeetCode |
| 90 | 278 | 第一个错误的版本 | 102 | LeetCode |
DFS/BFS(3道)
| 排名 | 题号 | 题目名称 | 频度 | 链接 |
|---|---|---|---|---|
| 91 | 200 | 岛屿数量 | 319 | LeetCode |
| 92 | 116 | 填充每个节点的下一个右侧节点指针 | 118 | LeetCode |
| 93 | 117 | 填充每个节点的下一个右侧节点指针 II | 115 | LeetCode |
堆(1道)
| 排名 | 题号 | 题目名称 | 频度 | 链接 |
|---|---|---|---|---|
| 94 | 215 | 数组中的第K个最大元素 | 586 | LeetCode |
图(1道)
| 排名 | 题号 | 题目名称 | 频度 | 链接 |
|---|---|---|---|---|
| 95 | 48 | 旋转图像 | 92 | LeetCode |
贪心(2道)
| 排名 | 题号 | 题目名称 | 频度 | 链接 |
|---|---|---|---|---|
| 96 | 56 | 合并区间 | 219 | LeetCode |
| 97 | 11 | 盛最多水的容器 | 95 | LeetCode |
排序(3道)
| 排名 | 题号 | 题目名称 | 频度 | 链接 |
|---|---|---|---|---|
| 98 | 补充题4 | 手撕快速排序 | 344 | LeetCode |
| 99 | 88 | 合并两个有序数组 | 293 | LeetCode |
| 100 | 75 | 颜色分类 | 88 | LeetCode |

python
hello world