- 博客(11)
- 问答 (1)
- 收藏
- 关注
原创 能量项链c语言
1:基本思路1:相邻的珍珠可以合并(前面珍珠尾标记和后面珍珠头标记相同)会释放能量,并且将相同的标记消去,形成的新珍珠的头标记和前面珍珠的头标记相同,尾标记和后面珍珠的尾标记相同。2:不难发现,当消去的标记数值越小,对整体来说释放的总能量越大。2:代码#include<stdio.h>#define MAX 100int findMinNumber(int *a,int length)//找出数值中最小的标记数值并返回其在数组中的下标{ int min=a[0],fla
2022-02-02 00:30:42
404
原创 蛇形矩阵c语言
#include<stdio.h>#define MAX 100int main(void){ int n,a[MAX][MAX]={0}; scanf("%d",&n); int count=0; for(int i=0;i<n;i++) { for(int j=i,k=0;j>=0;j--,k++) { a[j][k]=++count;//按1,2,3....的赋值顺序依次赋值 } } for(int i=0;i<=n;i++.
2022-02-01 11:22:06
1117
原创 字符串输入输出处理
1:基础知识gets(ch);//用于输入带有空格的字符串 scanf("%s",ch);//仅可接受不带空格字符串的2:代码#include<stdio.h>#include<string.h>#define MAX 1000int main(void){ int n,count=0; char ch[MAX]; scanf("%d",&n);//当你输入一个数字并按下回车时,下面getchar()的作业就是接收这个回车 getchar
2022-01-26 17:51:12
475
原创 字符串逆序输出
#include<stdio.h>#include<string.h>#define MAX 200void reversed(char *s){ int length=strlen(s); int i=0,j=length-1; while(i<j) { char temp; temp=s[i]; s[i]=s[j]; s[j]=temp; i++; j--; }}int main(void){ char s[MAX]; .
2022-01-22 16:32:12
419
原创 求N之内的素数
1:一般思路遍历2-N之内的所有数字,并依次判断是否为素数。2:代码#include<stdio.h>#include<math.h>int isPrime(int x){ if(x<=1) { return 0; }else if(x==2) { return 1; }else { for(int i=2;i<=sqrt(1.0*x);i++)
2022-01-22 16:12:13
625
原创 104.二叉树的最大深度
1:深度优先遍历1:深度优先遍历就是一条路走到黑的意思,一条路一直走到底再走另一条路。2:二叉树的深度=max(左子树深度,右子树深度)+1,求一颗二叉树的深度就变为了求左子树和右子树的深度,问题的规模再减小,可以使用递归。3:递归一定会有终止条件,当二叉树为空树时深度为0,就是终止条件。2:递归代码int maxDepth(struct TreeNode* root){ if (root == NULL) { return 0; }
2021-12-03 19:04:59
85
原创 leetcode102.二叉树的层序遍历
1:预备知识1:理解int*returnSize,int**returnColumnSizes两个的参数的意思。2:因为题中要返回的是一个二维数组,那么我们还应该返回这个二维数组的行数,列数。3:行数是确定的,只需要传入一个变量的地址,最后对地址操作改变其值就行,也就是(*returnSize)=行数。4:而列数可能每一行的列数是不同的,所以需要返回一个一维的数组来保存每一行的列数。5:若函数的返回值就是这个一维数组,相信大家都会写。#include<stdio.h&g...
2021-12-01 21:30:08
331
原创 leetcode:101.对称二叉树
1:递归实现void endTraversal(struct TreeNode *root,int *ret,int *returnSize){ if(root)//若树不为空则遍历,为空则结束 { endTraversal(root->left,ret,returnSize);//后序遍历左子树 endTraversal(root->right,ret,returnSize);//后序遍历右子树 ret[(*returnS
2021-11-27 13:21:33
400
原创 leetcode94.二叉树的中序遍历
1:递归代码void midTraversal(struct TreeNode *root,int *ret,int *returnSize) { if(root) { midTraversal(root->left,ret,returnSize);//先中序访问左子树 ret[(*returnSize)++]=root->val;//中序访问左子树之后,访问并计入数组根节点 midTraversal(root-
2021-11-26 23:10:22
205
原创 leetcode144.二叉树的前序遍历
1:递归实现 void preTraverse(struct TreeNode* root,int *ret,int* returnSize) { if(root) { ret[(*returnSize)++]=root->val; preTraverse(root->left,ret,returnSize); preTraverse(root->right,ret,returnSize); }
2021-11-26 12:14:41
387
空空如也
为什么上面可以正常输出,而下面一遇到0,0以后的就不能正常输出了
2021-07-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人