牛客C++核心面试题总结

server/2024/9/23 5:58:05/

前言

总结了C++核心面试题,一共80道,供大家学习。

下载链接:https://github.com/mco0308/-C-

以下是目录:

# 目录## 一、链表1. 反转链表 ..................................................... 1  
2. 链表内指定区间反转 ....................................... 2  
3. 合并两个排序的链表 ..................................... 3  
4. 合并 k 个已排序的链表 ................................. 5  
5. 判断链表中是否有环 ..................................... 6  
6. 链表中环的入口结点 ..................................... 7  
7. 链表中倒数最后 k 个结点 ............................... 9  
8. 两个链表的第一个公共结点 ............................ 11  
9. 链表相加(二) ............................................... 13  
10. 单链表的排序 ................................................ 15  
11. 判断一个链表是否为回文结构 ......................... 18  
12. 链表的奇偶重排 ............................................ 21  
13. 删除有序链表中重复的元素-I ........................ 23  
14. 删除有序链表中重复的元素-II ....................... 24  ## 二、二分查找/排序15. 二分查找-I ................................................... 26  
16. 寻找峰值 ........................................................ 28  
17. 数组中的逆序对 ............................................ 29  
18. 旋转数组的最小数字 ..................................... 31  
19. 比较版本号 ................................................... 32  ## 三、二叉树20. 二叉树的前序遍历(根左右) .......................... 34  
21. 二叉树的中序遍历(左根右) .......................... 36  
22. 二叉树的后序遍历(左右根) .......................... 38  
23. 二叉树的最大深度 .......................................... 39  
24. 二叉搜索树与双向链表 ................................. 40  
25. 合并二叉树 .................................................... 44  
26. 二叉树的镜像 ................................................. 46  
27. 判断是不是二叉搜索树 ................................ 47  
28. 判断是不是完全二叉树 ................................ 49  
29. 判断是不是平衡二叉树 ................................ 51  
30. 二叉搜索树的最近公共祖先 .......................... 52  
31. 在二叉树中找到两个节点的最近公共祖先 ......... 54  
32. 序列化二叉树 ................................................ 57  
33. 重建二叉树 .................................................... 62  
34. 输出二叉树的右视图 ...................................... 64  ## 四、堆/栈/队列35. 用两个栈实现队列 ........................................ 67  
36. 包含 min 函数的栈 ......................................... 69  
37. 有效括号序列 ................................................ 71  
38. 滑动窗口的最大值 ........................................ 73  
39. 最小的 K 个数 .............................................. 75  
40. 寻找第 K 大 .................................................. 77  
41. 数据流中的中位数 ........................................ 78  
42. 表达式求值 .................................................. 81  ## 五、哈希43. 数组中出现次数超过一半的数字 ...................... 83  
44. 数组中只出现一次的两个数字 ........................ 84  
45. 缺失的第一个正整数 ..................................... 85  ## 六、递归/回溯46. 没有重复项数字的全排列 ............................... 88  
47. 有重复项数字的全排列 ................................. 90  
48. 岛屿数量 ....................................................... 92  
49. 字符串的排列 ................................................ 95  
50. 括号生成 ....................................................... 97  
51. 矩阵最长递增路径 ........................................ 99  ## 七、动态规划52. 斐波那契数列 .............................................. 101  
53. 跳台阶 .......................................................... 103  
54. 最小花费爬楼梯 ........................................... 104  
55. 最长公共子序列(二) .................................. 106  
56. 最长公共子串 .............................................. 108  
57. 不同路径的数目(一) .................................. 110  
58. 矩阵的最小路径和 ........................................ 112  
59. 把数字翻译成字符串 .................................... 114  
60. 兑换零钱(一) ............................................ 116  
61. 最长上升子序列(一) .................................. 118  
62. 最长回文子串 .............................................. 119  
63. 数字字符串转化成 IP 地址 ............................. 121  
64. 编辑距离(一) ............................................ 123  
65. 打家劫舍(一) ............................................ 125  
66. 打家劫舍(二) ............................................ 126  ## 八、字符串67. 字符串变形 .................................................. 127  
68. 最长公共前缀 ............................................... 130  
69. 验证 IP 地址 ................................................ 132  
70. 大数加法 ..................................................... 136  ## 九、双指针71. 判断是否为回文字符串 ................................. 138  
72. 合并区间 ..................................................... 140  
73. 反转字符串 .................................................. 142  
74. 最长无重复子数组 ....................................... 143  
75. 盛水最多的容器 ........................................... 146  ## 十、贪心算法76. 主持人调度(二) ........................................ 148  ## 十一、模拟77. 旋转数组 ..................................................... 150  
78. 顺时针旋转矩阵 .......................................... 152  
79. 设计 LRU 缓存结构(最近最少使用) ............. 155  
80. 设计 LFU 缓存结构(最近最不常使用) .......... 157  


http://www.ppmy.cn/server/105083.html

相关文章

深入解析:Objective-C中的NSDistributedNotificationCenter分布式通知机制

标题:深入解析:Objective-C中的NSDistributedNotificationCenter分布式通知机制 在Objective-C的世界中,NSDistributedNotificationCenter是一个强大的工具,它允许应用程序在不同的进程之间发送和接收通知。这种分布式通知机制对…

C++设计模式2:代理模式

实际上,代理模式就是委托类通过代理类来控制实际对象的访问权限。 比如老板就是委托类,助理就是代理类,由于不是每一个客户都可以面见老板,所以助理要帮助老板筛选那些可以面见老板的客户。又比如一款游戏,游戏的关卡就…

AI 时代的编程革命:如何在挑战中抓住机遇?

AI 发展对软件开发的挑战与机遇:程序员应对策略 随着人工智能(AI)技术的快速进步,软件开发领域正经历深刻的变革。AI 不仅改变了编程的方式,也对程序员的职业发展产生了重要影响。在这个背景下,我们既看到…

log_linux_ubuntu_日志

makefile添加打印日志 makefile添加打印日志_makefile 打印日志-CSDN博客 使用tee记录编译日志 使用tee记录编译日志_optee 日志输出-CSDN博客 标准C库函数 标准C库函数之perror()、strerror(),以及他们之间各种的优缺点(打印错误信息)-…

Variomes:支持基因组变异筛选的高召回率搜索引擎

《Bioinformatics》2022 Variomes: https://candy.hesge.ch/Variomes Source code: https://github.com/variomes/sibtm-variomes SynVar: https://goldorak.hesge.ch/synvar 文章摘要(Abstract) 动机(Mot…

Pycharm 连接Mysql8

1.通过Pycharm 安装pymysql 2.创建Python链接Mysql 文件,并查询数据库数据 import pymysql#连接mysql数据库 IP "192.168.50.7" Port 3306 UserName "root" Password"*******" DbName "world" conn pymysql.connect(hostIP, userU…

Vue自动注入全局SASS/LESS全局变量

vue cli webpack: 构建工具less-loader: 处理样式代码 vue.config.js const { defineConfig } require("vue/cli-service") module.exports defineConfig({css: {loaderOptions: {scss: {additionalData: import "~/styles/var.scss";, // 这里用绝对…

无人机培训与装配维修技术详解

一、无人机基础理论 无人机,即无人驾驶航空器,凭借其灵活性、高效性和广泛应用性,已成为现代科技领域的热点之一。在学习无人机培训与装配维修技术之前,掌握无人机的基础理论是必不可少的。这包括但不限于: 1. 无人机…