【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 包含通用头文件/结构体/调试宏,便于快速测试。
相关推荐
侯小啾4 小时前
【03】C语言 强制类型转换 与 进制转换
c语言·数据结构·算法
AA陈超5 小时前
虚幻引擎5 GAS开发俯视角RPG游戏 P06-14 属性菜单 - 文本值行
c++·游戏·ue5·游戏引擎·虚幻
云知谷5 小时前
【经典书籍】C++ Primer 第15章类虚函数与多态 “友元、异常和其他高级特性” 精华讲解
c语言·开发语言·c++·软件工程·团队开发
weixin_582985186 小时前
OpenCV cv::Mat.type() 以及类型数据转换
c++·opencv·计算机视觉
牛客企业服务8 小时前
企业招聘新趋势:「AI面试」如何破解在线作弊难题?
人工智能·面试·职场和发展·招聘·ai招聘
拉不动的猪8 小时前
h5后台切换检测利用visibilitychange的缺点分析
前端·javascript·面试
oioihoii8 小时前
深入理解 C++ 现代类型推导:从 auto 到 decltype 与完美转发
java·开发语言·c++
报错小能手8 小时前
项目——基于C/S架构的预约系统平台 (1)
开发语言·c++·笔记·学习·架构
lingran__8 小时前
算法沉淀第十天(牛客2025秋季算法编程训练联赛2-基础组 和 奇怪的电梯)
c++·算法
怪兽20149 小时前
Android View, SurfaceView, GLSurfaceView 的区别
android·面试