首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
剑指offer
yibucuo
创建于2022-05-05
订阅专栏
剑指offer 题库
等 2 人订阅
共75篇文章
创建于2022-05-05
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
剑指 Offer 68 - I. 二叉搜索树的最近公共祖先
剑指 Offer 68 - I. 二叉搜索树的最近公共祖先 1、递归法 if (!root) return null是递归出口 根节点值都大于两个数,很明显p q的老爹在左子树里面,则遍历左子树 根节
剑指 Offer 67. 把字符串转换成整数
剑指 Offer 67. 把字符串转换成整数 去除字符串两边空格后,排除没有资格转成数字的情况,代码如下所示,请看代码注释解析 2.剩下的就是 满足转数字要求的字符串了,for循环遍历字符串,请看代码
剑指 Offer 66. 构建乘积数组
剑指 Offer 66. 构建乘积数组 解题思路 可能常规的思路是,我先把总的乘积算出来,然后用一个数组存当前索引左边的乘积,再次遍历的时候用总的乘积除左边的乘积就ok了,但是这样,如果数组中任何一个
剑指 Offer 65. 不用加减乘除做加法
剑指 Offer 65. 不用加减乘除做加法 十进制加法,我们一般是是怎么做的呢, 举例来说5+17=22 第一步只做个位相加不进位,5+7=12 第二步进位:5+7有进位,进位的值是10 第三步把前
剑指 Offer 63. 股票的最大利润
剑指 Offer 63. 股票的最大利润 遍历一次股价数组,假设第一项是最低股价,假设最大差价值为0, 如果在遍历中,发现了某一项价格更加低廉,于是就推翻了之前的假设以此起点,做后续遍历 如果有高价格
剑指 Offer 62. 圆圈中最后剩下的数字
剑指 Offer 62. 圆圈中最后剩下的数字 使用队列结构去做,超出了时间限制 简化代码如下 解题思路 从最后两个数开始反推 补全所有的数,得到的下标就是所求的数
剑指 Offer 61. 扑克牌中的顺子
剑指 Offer 61. 扑克牌中的顺子 题目要求 从若干副扑克牌中随机抽 5 张牌,判断是不是一个顺子,即这5张牌是不是连续的。 A为1,2~10为数字本身,J为11,Q为12,K为13 大、小王为
剑指 Offer 60. n个骰子的点数
剑指 Offer 60. n个骰子的点数 每个筛子都可以出现1 2 3 4 5 6 中点数,且相互独立 把每个筛子抛出的点数 求和 有可能是重复的,我们先打印下n个筛子抛出筛子点数和的情况,如下代码
剑指 Offer 59 - II. 队列的最大值
剑指 Offer 59 - II. 队列的最大值 若队列为空,pop_front 和 max_value 需要返回 -1 代码实现,这里注意到 当队列为空时候,求max_value应该返回-1 求po
剑指 Offer 58 - I. 翻转单词顺序
剑指 Offer 58 - I. 翻转单词顺序 字符串 转为数组,然后遍历数组每一项,因为split(' ') 如果字符串有多个空格,那就有可能 数组中,有空字符串出现,这时候,在res.push的时
剑指 Offer 57 - II. 和为s的连续正数序列
剑指 Offer 57 - II. 和为s的连续正数序列 值为9 可以 为4 + 5 ,说明遍历最多可以到值为4 如果是偶数 并没有两个值的数 满足条件 所以在最后做个判断,只有是奇数才能res.pu
剑指 Offer 57. 和为s的两个数字
剑指 Offer 57. 和为s的两个数字 思路:最左边left 为 0 ,最右边 为 nums.length - 1,这是边界 数组的下标left和right,left往右移动,right往左边移动
剑指 Offer 56 - II. 数组中数字出现的次数 II
剑指 Offer 56 - II. 数组中数字出现的次数 II 思路:用一个对象去记录遍历的值,访问obj下的nums[i] 如果是undefined则说明之前没有遍历到,于是就新增为1,如果得到的值
剑指 Offer 56 - I. 数组中数字出现的次数
剑指 Offer 56 - I. 数组中数字出现的次数 用一个对象去记录遍历的值,如果之前没有的,则新增以当前遍历项item为key,值为当前遍历项的下表i,等后续遍历如果查询到了同样的值,则说明重复
剑指 Offer 55 - II. 平衡二叉树
剑指 Offer 55 - II. 平衡二叉树 平衡二叉树,判断一颗树是否是平衡二叉树,满足下面条件 根节点的左右子树,它们的深度差不能超过1 左右子树都是平衡二叉树
剑指 Offer 55 - I. 二叉树的深度
剑指 Offer 55 - I. 二叉树的深度 如果节点不存在 则直接返回0,表示不参与计算了, 如果节点存在,则返回左边树的深度 和 右边树的深度 求他们的最大值, 在求最值得时候,我们成功降了一个
剑指 Offer 54. 二叉搜索树的第k大节点
剑指 Offer 54. 二叉搜索树的第k大节点 递归处理,先从右边开始 然后就是根节点,最后才是左边节点,每层嵌套都是先右再根,再左,这样输入了都是按大往小顺序排列。 代码实现 流程图分析
剑指 Offer 53 - II. 0~n-1中缺失的数字
剑指 Offer 53 - II. 0~n-1中缺失的数字 nums.length === 1 && nums[0] === 1 如果传入的是[1] 则返回0, 如果传入的是[0],则返回的是1 fo
剑指 Offer 53 - I. 在排序数组中查找数字 I
剑指 Offer 53 - I. 在排序数组中查找数字 I 思路:循环遍历数组,当某一项值等于 目标值target时候,n计数以此,直到nums遍历完成了,才会返回n的值
剑指 Offer 52. 两个链表的第一个公共节点
剑指 Offer 52. 两个链表的第一个公共节点 链表一般情况下有一短一长,遍历完短了后,发现长了还没有遍历完,如果让两个链表互相链接以此,再遍历,就可以看到弥补长度的区别了,下面有流程图,可以方便
下一页