牛客82035003号
牛客82035003号
全部文章
分类
题解(161)
归档
标签
去牛客网
登录
/
注册
牛客82035003号的博客
全部文章
(共200篇)
题解 | #Excel 表列序号#
类似于将由0-9的数字组成的字符串转成十进制数。不过这里是大写字母,进制是26. 大写字母算数值的话就是和字符A的差值再+1,从左往右每个大写字母先转成数值,再乘权值,最后累加 int getNumber(char* S ) { &nbs...
C
字符串
2022-04-11
1
408
题解 | #构建乘积数组#
题目意思就是说对于B[i],只要A数组所有数的乘积除去A[i]就可以了,既然不能用除法,那么在乘积时跳过这个数就好了。 int* multiply(int* A, int ALen, int* returnSize )&nbs...
C
数组
2022-04-11
0
344
题解 | #从尾到头打印链表#
第一想到的不就是把链表的值一个一个放到数组里去,然后再把数组的值反转,最后打印就好了嘛。 可是逆置也很麻烦啊,然后看到别人的写法,先遍历一遍把结点个数num计算出来,然后指针再回到链头, 接着把元素一个一个倒着放进数组不就可以了吗,从arr[num-1] 一直到arr[0]; 果然 快很...
C
数组
链表
2022-04-11
14
511
题解 | #跳台阶扩展问题#
如果一次可以跳任意阶,那么要想跳到第n阶,可以从前面任意一阶跳过去,即f(n)=f(n-1)+f(n-2)+……+f(2)+f(1)。 同理,f(n-1)=f(n-2)+f(n-3)+……+f(2)+f(1), 那么f(n) = 2 * f(n-1). 依此类推,f(n-1)...
C
递归
2022-04-11
0
315
题解 | #左叶子之和#
1.第一看根结点是否为空,为空则返回0,没有叶子。 2.根结点不为空的情况下,看根结点的左孩子结点是否是叶子结点,是就把其值并入sum. 3.根结点不为空的情况下,如果根结点的左孩子不是叶子结点,而是空结点,或者只有左孩子结点,或者只有右孩子结点,或者有2个孩子结点,就递归左右子树求和 ...
C
2022-04-10
6
477
题解 | #不用加减乘除做加法#
1.将两个二进制数相加看作不算进位的单纯相加和sum1和进位sum2相加的结果,保证sum1和sum2的进位为0。 2.sum1, sum2进位不为0的话就得再来一遍,直到进位=0. 3.不算进位就是0+0+0;0+1=1;1+0=1;1+1=0,也就是异或的结果——相同为0,不同为1。...
C
2022-04-10
0
343
题解 | #二叉树的直径#
在用递归求左右子树的高度的同时,就将左右子树的高度之和与max比较,并持续更新max,最后的max即为两个结点之间的最大距离。 int max = 0; //max作为全局变量,不断在更新 int depth(struct TreeNode*&...
C
二叉树
递归
2022-04-10
0
426
题解 | #二叉树的后序遍历#
int arr[100]= {0}; int cnt = 0; void printtree(struct TreeNode* p){ if(p == ...
C
递归
2022-04-10
0
267
题解 | #2的幂#
第一种,位运算。奇数和1相与结果为1,偶数和1相与结果为0. 奇数肯定不是2的幂,偶数就除2继续判断,一直到除2结果为1为止 #include<stdbool.h> bool poweroftwo(int n ) {  ...
C
2022-04-10
0
409
题解 | #判断字符是否唯一#
不在意时间就双层循环一个一个查找,不在意空间就用一个新数组对各个出现的字符计数,并检查,若有大于1的,则有重复字符,可判结。 #include<stdbool.h> bool isUnique(char* str ) {  ...
C
字符串
哈希表
2022-04-09
0
400
首页
上一页
5
6
7
8
9
10
11
12
13
14
下一页
末页