首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《剑指Offer》50道算法面试题

《剑指Offer》50道算法面试题

作者头像
haifeiWu
发布2018-09-11 10:14:46
2.7K0
发布2018-09-11 10:14:46
举报

《剑指Offer》50道算法面试题 - C++版,本来一开始想用Java来写,不过看看了,JDK里封装了很多算法,用Java写就没意思了,于是用选择了C++,顺便也学习一下C++。

关于刷题方法,这里要说几句:因为本人也不擅长刷题,属于跳跃性思维的那种。开始刷了十几道就放弃了,最后找到了一种方法,给大家分享出来:

  1. 可以先粗略的过一遍题目,都有什么题型,还有一些自己关于题目的解法,如果有些题太难那就先暂时跳过;
  2. 详细的算一遍题,前面有了大概的了解,然后开始自己构思每道题的解题思路;
  3. 第三遍刷题,参考答案,结合自己之前的想法对比,此时就需要注意之前自己没有思路的题目;
  4. 开始动手写代码
  5. 再总结一遍自己写的,回顾一下。

好的,就到这里,大概需要5遍以上吧,这样多刷几遍题可以增强记忆~

面试题

面试题3:一个从左到右递增、从上到下递增的二维数组中判断一个整数是否存在

面试题4:把字符串的空格替换为“%20”

面试题5:从尾到头打印链表

面试题6:通过前序遍历和中序遍历重建二叉树

面试题7:用两个栈实现队列

面试题8:旋转数组的最小数字

面试题9:斐波那契数列

面试题10:二进制中1的个数

面试题11:数值的整数次方

面试题12:打印从1到最大的n位数

面试题13:在O(1)的时间删除链表结点

面试题14:调整数组顺序使奇数位于偶数前面

面试题15:链表中倒数第k个结点

面试题16:反转链表

面试题17:合并两个排序的链表

面试题18:判断二叉树B是否为A的子结构

面试题19:二叉树的镜像

面试题20:顺时针打印矩阵

面试题21:包含min函数的栈

面试题22:已知栈的压入序列,判断是否为弹出序列

面试题23:从上往下打印二叉树

面试题24:判断数组是否符合二叉搜索树的后序遍历序列

面试题25:二叉树中和为某一值得路径

面试题26:复杂链表的复制

面试题27:二叉搜索树转换为排序的双向链表

面试题28:打印字符串中字符的所有排列

面试题29:数组中出现次数超过一半的数字

面试题30:从n个整数中找出最小的k个数

面试题31:连续子数组的最大和

面试题32:从1到n的整数中1出现的次数

面试题33:把数组排成最小数

面试题34:求第n个丑数

面试题35:第一个只出现一次的字符

面试题36:数组中的逆序对

面试题37:两个链表第一个公共结点

面试题38:数字在排序数组中出现的次数

面试题39.1:二叉树的深度

面试题39.2:判断二叉树是否为二叉平衡树

面试题40:数组中只出现一次的数字(除两个数字外,其余都出现两次)

面试题41.1:递增排序数组中查找和为s的两个数

面试题41.2:打印出和为s的连续正数序列

面试题42.1:翻转单词顺序,但单词中字符顺序不变

面试题42.2:实现字符串左旋转功能

面试题43:打印出n个骰子点数s所有可能出现的概率

面试题44:随机抽5张牌是不是连续的(大小王可看成任意数字)

面试题45:圆圈中最后剩下的数字

面试题46:不使用乘除、if、while等求1+2+……+n

面试题47:不用加减乘除做加法

面试题48:不能被继承的类

面试题49:把字符串转换为整数

面试题50:树中两个结点的最低公共祖先

最后,祝大家刷题愉快~~~

作 者:ChanghuiN

原文链接:https://cloud.tencent.com/developer/article/1333301

版权声明:非特殊声明均为本站原创作品,转载时请注明作者和原文链接。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 面试题
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档