牛客82035003号
牛客82035003号
全部文章
分类
题解(161)
归档
标签
去牛客网
登录
/
注册
牛客82035003号的博客
全部文章
(共200篇)
题解 | #移动 0#
一个工作指针负责遍历,一个数组指针负责赋值。 一边遍历一边把不是0的值复制保留, 遍历完后非零值已按原序保存, 就只需把剩下的空全部赋值为0即可。 int* moveZeroes(int* nums, int nums...
C
数组
双指针
2022-04-09
2
443
题解 | #数组中重复的数字#
用一个初值均为0,长度和原数组相同的数组来给出现的每个数计算出现的次数,一旦出现次数大于1次表示该数重复,就可以收网了。 int duplicate(int* numbers, int numbersLen ) { &nbs...
C
数组
2022-04-08
1
495
题解 | #删除链表的节点#
//返回值有3种情况,空,头结点,非头结点。 struct ListNode* deleteNode(struct ListNode* head, int val ) { ...
C
链表
双指针
2022-04-08
0
354
题解 | #数组中只出现一次的数(其它数出现k次)#
//从高位向低位操作 int foundOnceNumber(int* arr, int arrLen, int k ) { int num =&nbs...
C
2022-03-30
0
304
题解 | #01背包#
#define max(a, b) ((a) > (b) ? (a) : (b)) int knapsack(int V, int n, int**&nb...
C
2022-03-30
0
310
题解 | #懂二进制#
//一个二进制数和1相与,就可以知道这个二进制数的最后一位是1还是0 //因为1和1相与还是1, 而0和1相与还是0 int countBitDiff(int m, int n ) { int...
C
2022-03-29
2
495
题解 | #合并二叉树#
//第一种情况,两棵都是空树,合并仍为空 //第二种情况,第一棵树为空,第二棵树不为空,那么空的位置就用第二棵树的结点代替 //第三种情况,第一棵树不为空,第二棵树为空,那么没有影响, //第四种情况,两棵树都不为空,那么就把对应结点的值相加 // 然后递归判断左子树,再递归判...
C
2022-03-28
0
300
题解 | #三个数的最大乘积#
//题目说了数组含有正数负数和0,那么最小的那个数必定是负数,最大的那个数必定是正数 //要想三个数的乘积最大,那么要么取三个最大的正数相乘,要么取两个最小的负数和最大的正数相乘 //第一步:通过一趟遍历,将找到第一大第二大第三大的三个数和第一小第二小的两个数 //第二步:比较两种情况下三个数的乘积...
C
2022-03-28
0
303
题解 | #判断t1树中是否有与t2树完全相同的子树#
//1.若树2为空,那么无论树1是否为空,树2都是树1的子树,返回true //2.若树2不为空,而树1为空,那么树2不可能是树1的子树,返回false //3.在树1树2都不为空的时候,就分三种情况, // 要么两棵树完全一样,用 issame(root1, root2)判断 // 要么树2属...
C
2022-03-27
3
474
题解 | #包含min函数的栈#
static int stack[301]; static int i = 0; static int min_num = 99999; //假设的最小值,其实比栈中所有数都大,为的就是给机会找出...
C
2022-03-26
7
567
首页
上一页
6
7
8
9
10
11
12
13
14
15
下一页
末页