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

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


✅ 分类 & 推荐题目列表(精选 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 包含通用头文件/结构体/调试宏,便于快速测试。
相关推荐
Q741_1471 分钟前
C++ 力扣 438.找到字符串中所有字母异位词 题解 优选算法 滑动窗口 每日一题
c++·算法·leetcode·双指针·滑动窗口
草莓熊Lotso1 分钟前
【C语言强化训练16天】--从基础到进阶的蜕变之旅:Day8
c语言·开发语言·c++·刷题·强化训练
zwhdlb20 分钟前
Java + 工业物联网 / 智慧楼宇 面试问答模板
java·物联网·面试
码熔burning36 分钟前
JVM 面试精选 20 题(续)
jvm·面试·职场和发展
mit6.8249 小时前
[openvela] Hello World :从零开始的完整实践与问题复盘
c++·嵌入式硬件
pusue_the_sun9 小时前
数据结构:二叉树oj练习
c语言·数据结构·算法·二叉树
艾伦~耶格尔10 小时前
【集合框架LinkedList底层添加元素机制】
java·开发语言·学习·面试
一只叫煤球的猫11 小时前
🕰 一个案例带你彻底搞懂延迟双删
java·后端·面试
啊阿狸不会拉杆11 小时前
《算法导论》第 32 章 - 字符串匹配
开发语言·c++·算法
小学生的信奥之路11 小时前
洛谷P3817题解:贪心算法解决糖果分配问题
c++·算法·贪心算法