牛客228195230号
牛客228195230号
全部文章
分类
题解(67)
归档
标签
去牛客网
登录
/
注册
牛客228195230号的博客
全部文章
(共67篇)
【剑指offer】树的子结构
题目描述输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)1、思路分析首先要明白子结构的概念,可以理解为B是A的某一部分,但B的根节点在A的哪一部分并不确定,只要A里能包含B即可。仍然是先判断特殊情况,接着判断两者的根节点的值是否相等,即我们要开始寻找“起点”...
2020-05-23
0
432
【剑指offer】合并两个排序的链表
题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。1、思路分析解法一:非递归新建两个结点,一个用来保留头结点,一个用来移动扩充新结点。看了别人的思路后,有两点需进行优化:如果我们每次更新的是cur.next,更新完后令cur=cur.next,我们就...
2020-05-22
3
701
【剑指offer】反转链表
题目描述输入一个链表,反转链表后,输出新链表的表头。1、思路分析为保证思路的完整性,一开始需考虑特殊情况,即链表结点为空或者只有头结点的时候,直接返回链表本身。初始思路我想用三个指针分别前一个、当前和下一个结点,其实通过移动head可以充当当前指针,因此我们再另外新建pre、next两个指针即可。再...
2020-05-21
0
382
【剑指offer】链表中倒数第k个节点
题目描述输入一个链表,输出该链表中倒数第k个结点。1、思路分析使用左右两个指针,一开始left和right均指向头结点,left保持不变,right向右移动k-1次,外层循环控制移动次数,循环体中每次循环时判断right是否为空,如果为空,直接返回null,否则继续移动。第一次循环结束后,需要再次判...
2020-05-20
0
327
【剑指offer】调整数组顺序使奇数位于偶数前面
题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。1、思路分析用的双指针,一开始我是让两个指针指向相邻位置,并且只循环一次,最后得到了错误的结果,分析发现,如果有一个奇数在两...
2020-05-19
0
364
【剑指offer】数值的整数次方
题目描述给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。保证base和exponent不同时为01、思路分析最简单的办法,按照指数的定义进行循环迭代。一开始思路不完整,需要考虑指数为负的情况。同时,简单的if条件语句可以用一个语句来代替,...
2020-05-18
0
637
【剑指offer】二进制中1的个数
题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。1、思路分析自己没有思路,搬运的评论区大佬的解释。我们先来看看二进制表示形式下的整数减去1会发生什么,假设一个整数不为0,例如1100,1100-1=1011,可以看出,减去1的结果为最右边的1变为0,最右边的1后面的0(如果有...
2020-05-17
0
351
【剑指offer】矩形覆盖
题目描述我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2n的大矩形,总共有多少种方法?1、思路分析动态规划的思想,当小矩形个数大于等于3时,覆盖个数可由矩形个数减少1、减少2来决定。一开始我想的是,f(n)=f(n-1)+2f(n-2),但其实f(n-2)...
2020-05-16
0
540
【剑指offer】变态跳台阶
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。1、思路分析是上一种跳台阶的变种。上一次主要是动态规划(迭代,项数确定)的思想,由于青蛙每次只能跳一步后者两步,因此当前台阶的跳法由前一级和前两级决定。而本题中,青蛙每一次可以跳的步...
2020-05-15
0
451
【剑指offer】跳台阶
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。1、思路分析还是利用递归的思想,先单独讨论边界情况即target=1或2时,后面>=3级的结果等于前一级的跳法加上前两级的跳法。对比了别人的答案,发现递归会影响程序的执...
2020-05-14
0
388
首页
上一页
1
2
3
4
5
6
7
下一页
末页