[剑指offer]题解汇总与题目种类分类(C++纯享版!)

本篇汇总了剑指offer所有题的题解,然后就题目进行了简单的分类!
错题和心得分享请看下面这篇文章===>错题集(二刷出错记录+心得分享)


写在前面

一般来说对于刷剑指offer分为几刷

  1. 速刷,不懂直接题解,获得正解。
  2. 默刷,看一遍题解,进行默写,进行巩固
  3. 日刷,每日三省吾身,隔日能刷方更进一步
  4. 月刷,在完成全部题目后,要时不时的进行回顾“思而不学则殆”,要一直动起来,刷起来,速度更是要快。“题刷百变,其意必现”

最后,我们才可以刷更多更有难度的题,但是万变不离其宗,最简单的剑指offer就是我们必修的内功!

题目题解表

剑指offer题号题解地址总而言之
JT1二维数组中的查找优雅的暴力总是那么迷人
JT2替换空格花里胡哨终会将时间错付
JT3从尾到头打印链表为了节约空间我选择自转
JT4重建二叉树破镜难以重圆,但是二叉树可以
JT5用两个栈实现队列要用魔法打败魔法
JT6旋转数组的最小数字谁暴力谁是傻子
JT7Fibonacci数列记忆化搜索很重要
JT8跳台阶我一眼就看出不是跳台阶
JT9变态跳台阶一下支棱n级台阶,真牛
JT10矩形覆盖万事有起因,答案其中隐
JT11二进制中1的个数n&(n-1)你不得不知道の含义呀0.0!
JT12数值的整数次方抛砖引玉我们说说【快速幂】算法!
JT13调整数组循序使奇数位于偶数前面过于简单
JT14链表中倒数第k个结点震惊!!!双指针相对运动轻松解题
JT15反转链表不积硅步无以至千里
JT16合并两个排序的链表不忘初心,方得始终
JT17树的子结构树的比较都是递归
JT18二叉树的镜像树的镜像也是递归
JT19顺时针打印矩阵正方形打野
JT20包含min函数的栈把最小值存下来不就好了?
JT21栈的压入,弹出序列一直等到你的出现
JT22从上往下打印二叉树用队列好好保护树上的每个她!
JT23二叉搜索树的后序遍历序列先苦后甜
JT24二叉树中和为某一值的路径答应我,不要放弃,把树跑完就行了
JT25复杂链表的复制按部就班太难,map最懂我
JT26二叉搜索树与双向链表琢磨了几天,挺抽象一题
JT27字符串的排列醉翁之意不在酒
JT28数组种出现次数超过一半的数字用哈希表支棱就完事了!
JT29最小的K个数靓仔靓女,快进来学习快排讷!
JT30连续子数组的最大和动态规划【全网最详图解】
JT31从1到n整数中1出现的次数万物有规律,特别是数字
JT32把数组排成最小的数sort()竟然可以编写排序规则!
JT33丑数客官进来抽个幸运数字呗!
JT34第一个只出现一次的字符之前没有,之后也是
JT35数组中的逆序对归并排序很勇嘛!
JT36两个链表的第一个公共结点与数组找相同值何异?
JT37数字在升序数组中出现的次数二分向两端走到尽头!
JT38二叉树的深度同学们,这题我好像讲过呢!
JT39平衡二叉树自上而下还是自下而上呢?
JT40数组中只出现一次的两个数字哈希或者排序查找!
JT41和为S的连续正数序列我称之为尺取法,进退之间张弛有度。
JT42和为S的两个数字两次哈希表,出场次序很重要
JT43左旋转字符串所有失去的都以另一种方式回归!
JT44翻转单词顺序列横看成岭侧成峰!
JT45扑克牌顺子是不是顺子看首尾差的长度就得了!
JT46孩子们的游戏约瑟夫环问题详解!
JT471+2+3+…n不准用乘除,for,while,if,switch等哟!
JT48不用加减乘除做加法快进来研究凡学吧!
JT49把字符串转换成整数要求不使用库函数!
JT50数组中重复的数字没你想得那么简单
JT51构建乘积数组不能使用除法!
JT52正则表达式我真的震惊,竟然要用动态规划!
JT53表示数值的字符串别小瞧这题,陷阱真滴多!
JT54字符流中第一个不重复的字符感觉前面做过,就是hash表呀,难道我肤浅了?
JT55链表中环的入口结点所有的偶遇都是蓄谋已久!详细图解哦!
JT56删除链表中重复的结点戴上新表头,更加方便!
JT57二叉树的下一个结点我准备了菜鸟解法和大神解法,大家都能吃饱!
JT58对称的二叉树和第十八题异曲同工呀!
JT59按之字形顺序打印二叉树队列和堆栈都可以哦!
JT60把二叉树打印成多行这个肯定和59题是兄弟题,换了个说法而已!
JT61序列化二叉树strcpy函数接口是 char类型,不能直接string哦!
JT62二叉搜索树的第k个结点二叉树有个江湖规矩!
JT63数据流中的中位数和ccf大中小一个意思!
JT64滑动窗口的最大值deque双向队列滑动窗口!
JT65矩阵中的路径算是剑指offer里唯一的非二叉树非链表dfs题吧,也比较经典!
JT66机器人的运动范围遍历即可!
JT67剪绳子巧算或者动态规划!都挺好!

题目分类表

数组

剑指offer题号题解地址
JT1二维数组中的查找
JT7Fibonacci数列
JT13调整数组循序使奇数位于偶数前面
JT19顺时针打印矩阵
JT28数组种出现次数超过一半的数字
JT32把数组排成最小的数
JT35数组中的逆序对
JT37数字在升序数组中出现的次数
JT42和为S的两个数字
JT50数组中重复的数字
JT51构建乘积数组
JT66机器人的运动范围

字符串

剑指offer题号题解地址
JT2替换空格
JT27字符串的排列
JT34第一个只出现一次的字符
JT43左旋转字符串
JT44翻转单词顺序列
JT45扑克牌顺子
JT49把字符串转换成整数
JT52正则表达式
JT53表示数值的字符串
JT54字符流中第一个不重复的字符

链表

剑指offer题号题解地址
JT3从尾到头打印链表
JT14链表中倒数第k个结点
JT15反转链表
JT16合并两个排序的链表
JT25复杂链表的复制
JT26二叉搜索树与双向链表
JT36两个链表的第一个公共结点
JT55链表中环的入口结点
JT56删除链表中重复的结点

剑指offer题号题解地址
JT4重建二叉树
JT17树的子结构
JT18二叉树的镜像
JT22从上往下打印二叉树
JT23二叉搜索树的后序遍历序列
JT24二叉树中和为某一值的路径
JT38二叉树的深度
JT39平衡二叉树
JT57二叉树的下一个结点
JT58对称的二叉树
JT59按之字形顺序打印二叉树
JT60把二叉树打印成多行
JT61序列化二叉树
JT62二叉搜索树的第k个结点

数学

剑指offer题号题解地址
JT11二进制中1的个数
JT12数值的整数次方
JT31从1到n整数中1出现的次数
JT33丑数
JT46孩子们的游戏
JT471+2+3+…n
JT48不用加减乘除做加法
JT67剪绳子

其他知识点

剑指offer题号题解地址知识点
JT5用两个栈实现队列
JT6旋转数组的最小数字二分
JT8跳台阶递归
JT9变态跳台阶贪心
JT10矩形覆盖递归
JT20包含min函数的栈
JT21栈的压入,弹出序列
JT29最小的K个数快排
JT30连续子数组的最大和动态规划
JT40数组中只出现一次的两个数字哈希
JT41和为S的连续正数序列穷举
JT63数据流中的中位数堆,排序
JT64滑动窗口的最大值双向队列
JT65矩阵中的路径dfs
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值