首页 > 学院 > 开发设计 > 正文

LeeeCode 412

2019-11-06 07:33:34
字体:
来源:转载
供稿:网友

题目

意思很简单,给出一个n,输出1-n的整数,如果整数是3的倍数,输出”Fizz”,如果是5的倍数,输出”Buzz”,如果是15(同时是3和5的倍数)的倍数,输出”FizzBuzz”。

题解

最简单的解法就是3组if-else判断,利用C语言的char **(二级char指针)存储需要返回的字符串数组(第一级为字符串,第二级为数组)。提交代码框中有说明两点:

返回*returnSize大小的的数组(其实就是n吧)

所以* returnSize = n;貌似没必要,但是如果不写就会返回空数组。

返回的arr数组必须被malloced申请。

char * arr = (char *)malloc(n*sizeof(char *));(这种字符串处理还是java方便。。)

/** * Return an array of size *returnSize. * Note: The returned array must be malloced, assume caller calls free(). */char** fizzBuzz(int n, int* returnSize) { char ** arr = (char **)malloc(n*sizeof(char *)); int i; for(i = 0;i < n;i++) { if(((i+1)%15) == 0) { arr[i] = (char *)malloc(8*sizeof(char)); arr[i] = "FizzBuzz"; } else if(((i+1)%3) == 0) { arr[i] = (char *)malloc(4*sizeof(char)); arr[i] = "Fizz"; } else if(((i+1)%5) == 0) { arr[i] = (char *)malloc(4*sizeof(char)); arr[i] = "Buzz"; } else { arr[i] = (char *)malloc(sizeof(char)); sPRintf(arr[i],"%d",i+1); } } * returnSize = n; return arr; //free(arr);}
上一篇:springmvc之Restful

下一篇:最小差距

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表