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

代码星冰乐

专注成就未来

首页 归档 关于

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

Mar 15, 2018 | ChanghuiN | Java | 阅读

作 者:ChanghuiN
原文链接:https://www.hchstudio.cn/article/2018/2649/
版权声明:非特殊声明均为本站原创作品,转载时请注明作者和原文链接。


由于版权原因,请阅读原文 --> 《剑指Offer》50道算法面试题

关注我们

作 者:ChanghuiN
原文链接:https://www.hchstudio.cn/article/2018/2649/
版权声明:非特殊声明均为本站原创作品,转载时请注明作者和原文链接。

作 者:ChanghuiN
原文链接:https://www.hchstudio.cn/article/2018/2649/
版权声明:非特殊声明均为本站原创作品,转载时请注明作者和原文链接。

《剑指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://www.hchstudio.cn/article/2018/2649/
版权声明:非特殊声明均为本站原创作品,转载时请注明作者和原文链接。

分享
总结算法
自建脚手架之配置中心--LightConf的实现测试环境服务器硬盘塞满问题排查
微信关注我们
分类
  • Android8
  • Go4
  • Java59
  • Kafka,Java1
  • Kotlin2
  • Linux1
  • MapReduce1
  • Python2
  • Raft1
  • Redis1
  • ThreadPoolExecutor1
  • go1
  • 工具1
  • 总结8
  • 旅游日记1
标签
Nginx ChanghuiN haifeiWu Android Java 设计模式 hexo Kotlin 算法 MySQL 源码解析 Python Redis golang web Kafka 配置中心 总结 性能优化 旅游日记 Shell Go 问题排查 译文 Docker Spring Boot 工具 学习笔记 WebFlux 性能测试 go 散列表 源码 netty Raft
最近文章
  • Kafka的日志复制机制
  • 从20到21
  • go 并发编程
  • 【译】了解Linux CPU负载-您何时应该担心?
  • Zookeeper 与分布式锁
  • 基于Redis的分布式锁到底安全吗?
  • 【译】Raft 学生指南
  • ThreadPoolExecutor 的简单梳理
  • MapReduce 的简单实现
  • 使用 Map 实现策略模式
福利专区
    免费SSL证书
      阿里云红包
        腾讯云专属福利
        Copyright © 2021 代码星冰乐. Powered by ChanghuiN. 版权所有 晋ICP备15001365号
        特别感谢: 云服务器服务商 、 CDN 服务商