【C/C++】面试常考题目

发布于:2025-06-03 ⋅ 阅读:(18) ⋅ 点赞:(0)

面试中最常考的数据结构与算法题,适合作为刷题的第一阶段重点。


✅ 分类 & 推荐题目列表(精选 70 道核心题)

一、数组 & 字符串(共 15 题)

题目 类型 LeetCode编号
两数之和 哈希表 #1
盛最多水的容器 双指针 #11
三数之和 排序+双指针 #15
移动零 原地操作 #283
合并两个有序数组 双指针 #88
最长公共前缀 字符串处理 #14
字符串相加 模拟 #415
字符串转换整数 字符串处理 #8
有效的括号 #20
反转字符串 双指针 #344
实现 strStr() 双指针/KMP #28
最长不重复子串 滑动窗口 #3
找出所有异位词 哈希 + 排序 #438
轮转数组 数组翻转 #189
矩阵置零 空间优化 #73

二、链表(共 10 题)

题目 类型 LeetCode编号
反转链表 迭代/递归 #206
合并两个有序链表 递归/迭代 #21
环形链表 快慢指针 #141
相交链表 指针遍历 #160
删除链表的倒数第 N 个节点 双指针 #19
链表中间结点 快慢指针 #876
K 个一组反转链表 高频 #25
排序链表 归并排序 #148
复制带随机指针的链表 哈希 #138
删除重复元素 II 链表操作 #82

三、栈、队列、堆(共 8 题)

题目 类型 LeetCode编号
用栈实现队列 双栈 #232
最小栈 辅助栈 #155
有效的括号 #20
滑动窗口最大值 单调队列/堆 #239
用队列实现栈 双队列 #225
前 K 个高频元素 小顶堆 #347
数据流的中位数 双堆 #295
实现 LRU 缓存 双链表+哈希 #146

四、哈希表(共 6 题)

题目 类型 LeetCode编号
两数之和 哈希表 #1
存在重复元素 哈希表 #217
有效的字母异位词 计数器 #242
字符串中的第一个唯一字符 哈希表 #387
和为 K 的子数组 前缀和 + 哈希 #560
四数之和 排序 + 哈希 #18

五、二叉树 & 图(共 12 题)

题目 类型 LeetCode编号
二叉树的最大深度 DFS #104
二叉树的层序遍历 BFS #102
对称二叉树 DFS/BFS #101
验证二叉搜索树 中序遍历 #98
另一棵树的子树 递归判断 #572
从前序与中序遍历构造二叉树 分治 #105
二叉树的最近公共祖先 DFS #236
翻转二叉树 DFS #226
合并二叉树 DFS #617
课程表(拓扑排序) #207
克隆图 DFS/BFS #133
二叉树的直径 后序DFS #543

六、排序 & 查找(共 7 题)

题目 类型 LeetCode编号
合并区间 排序 #56
搜索旋转排序数组 二分查找 #33
搜索二维矩阵 二分查找 #74
寻找峰值 二分查找 #162
第 K 个最大元素 快排 / 堆 #215
快速排序手写实现 模板题
合并 K 个升序链表 #23

七、动态规划(共 12 题)

题目 类型 LeetCode编号
爬楼梯 DP #70
不同路径 DP #62
零钱兑换 背包问题 #322
0-1 背包(模板) 背包DP
最长回文子串 中心扩展 / DP #5
编辑距离 字符串DP #72
最长递增子序列 DP #300
打家劫舍 线性DP #198
最大子序和 贪心 / DP #53
股票买卖系列 状态机DP #121、#122、#123
跳跃游戏 贪心 / DP #55
买卖股票的最佳时机含冷冻期 DP #309

📝 补充建议

推荐刷题平台:

刷题工具建议:

  • 使用 C++17 编写并通过本地或 VSCode + CMake 运行测试;
  • 建议写一个 template.cpp 包含通用头文件/结构体/调试宏,便于快速测试。

网站公告

今日签到

点亮在社区的每一天
去签到