【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 包含通用头文件/结构体/调试宏,便于快速测试。
相关推荐
找方案2 小时前
AI+人力资源:AI招聘面试的兴起与争议
人工智能·面试·职场和发展
讳疾忌医丶3 小时前
深度拆解 RocksDB 内核:基于 C++17 的 FIFO 调度状态机与温度阶梯自愈设计
java·c++·算法·架构
2401_868534783 小时前
OpenStack 架构全景:八个核心组件深度拆解
c++·需求分析
软件课代表CiCi3 小时前
运行库是什么?电脑缺运行库怎么办?c++运行库缺失修复全攻略
开发语言·c++·windows·电脑·dll修复·dll丢失·运行库
蒸蒸yyyyzwd5 小时前
从面经中学到的三件事
c++·笔记
时时三省5 小时前
【时时三省】计算机c语言二级考试选择题重点
c++
云泽8087 小时前
STM32 USART 详解(八):C I/O 串口重定向原理与实现
c语言·stm32·嵌入式硬件
ThornArmor7 小时前
重铸1996|肉体渲染:关节的裂缝:分段模型积木拼装与未成熟的 RSP 矩阵骨骼动画形变
c语言·汇编·c++·python·硬件架构·游戏机
T1mzhou7 小时前
ARM64 Linux 6.10 内核驱动(12):dd.c:probe/ remove、延迟 probe
linux·服务器·c语言·arm开发·arm
白色的北极熊9 小时前
c语言 scanf 输入流有空格,逗号 说明
c语言