代码界的小白
代码界的小白
全部文章
题解
剑指offer个人题解(4)
必刷148题(1)
归档
标签
去牛客网
登录
/
注册
代码界的小白的博客
全部文章
/ 题解
(共95篇)
题解 | #判断是不是完全二叉树#
题目主要信息 给定一个二叉树,确定他是否是一个完全二叉树。 完全二叉树的定义:若二叉树的深度为 h,除第 h 层外,其它各层的结点数都达到最大个数,第 h 层所有的叶子结点都连续集中在最左边,这就是完全二叉树。(第 h 层可能包含 [1~2h] 个节点) 方法一:层次遍历 具体方法 使用层次遍历,每...
Java
2022-03-14
16
1367
题解 | #对角线遍历矩阵#
题目主要信息 给定一个大小为 n*m 的矩阵,请以对角线遍历并返回遍历结果 方法一:翻转输出 具体方法 新建一个数组result,存储最终的结果 使用一个循环遍历所有的对角线,第一行和最后一列的元素都是对角线的起点 使用一个内层循环对所有对角线上的所有元素,可以计算指定对角线上的元素数量 由于不知...
Java
2022-03-11
1
647
题解 | #移掉 K 位数字#
题目主要信息 给定一个以字符串表示的数字 num 和一个数字 k ,从 num 中移除 k 位数字,使得剩下的数字最小。如果可以删除全部数字则剩下 0 1.num仅有数字组成 2.num是合法的数字,不含前导0 3.请你保证删除之后的num也不含前导0 方法一:单调栈 具体方法 遍历字符串,走到字符...
Java
2022-03-10
2
580
题解 | #颜色分类#
方法一:直接求解 具体方法 遍历两次数组,第一次遍历是将所有的0交换到数组的头部,第二次遍历将所有的1放到0的后面,这就可以满足题目要求了。 使用一个题指针ptr表示 0的范围,从左到右遍历数组,如果找到0,就将0与ptr位置的元素进行交换,ptr+1,遍历结束后,所以的0移动到最前面。 同样的操作...
Java
2022-03-10
2
535
题解 | #每日温度#
每日温度 根据往后 n 天的天气预报,计算每一天需要等待几天才会出现一次更高的气温,如果往后都没有更高的气温,则用 0 补位。 例如往后三天的气温是 [1,2,3] , 则输出 [1,1,0] 方法一:暴力求解 具体方法 使用两次循环,第一层循环遍历到i位置时,从该位置的后面一个位置j = i+1开...
Java
2022-03-10
2
1415
题解 | #除自身以外数组的乘积#
题目主要信息 给定一个长度为 n 的数组 nums ,返回一个数组 res,res[i]是nums数组中除了nums[i]本身以外其余所有元素的乘积,即:res[i]= nums*[1]×*nums*[2]×......×num**s[i−1]×num**s[i+1]......×num**s[n]...
Java
2022-03-10
1
504
题解 | #集合的所有子集(二)#
题目主要信息 给定一个整数数组 nums ,其中可能包含重复元素,请你返回这个数组的所有可能子集。 返回的答案中不能包含重复的子集,将答案按字典序进行排序。 方法一:排序+回溯 具体方法 由于题目要求最终答案需要按照字典序排序输出,所以在进行回溯之前先讲数组排序,然后在使用回溯求所有的子集。 代码...
Java
2022-03-09
2
516
题解 | #二叉树的最大宽度#
二叉树的最大宽度 给定一个二叉树,请你求出此二叉树的最大宽度。 本题中树第 i 层的宽度定义为:第 i 层最左边的节点到最右边之间的距离,中间空节点也计入距离。 方法一:广度搜索 具体方法 给每个节点设置一个索引index,如果向左走,就将2∗index2*index 2∗index左子树存起来,如...
Java
2022-03-07
1
522
题解 | #兑换零钱(二)#
题目主要信息 给定一个整数数组 nums 表示不同数额的硬币和一个正整数 target 表示总金额,请你计算并返回可以凑出总金额的的组合数。如果凑不出 target 则返回 0 方法一:DFS 具体方法 使用DFS递归和回溯的方法。dfs方法中有三个参数,分别是nums数组,索引和target,在递...
Java
2022-03-07
3
591
题解 | #旋转链表#
题目主要信息 给定链表的头节点,旋转链表,将链表每个节点往右移动 k 个位置,原链表后 k 个位置的节点则依次移动到链表头。 即,例如链表 : 1->2->3->4->5 k=2 则返回链表 4->5->1->2->3 方法一:直接求解 具体方法 按照...
Java
2022-03-04
0
0
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页