Leetcode -412.Fizz Buzz
题目:给你一个整数 n ,找出从 1 到 n 各个整数的 Fizz Buzz 表示,并用字符串数组 answer(下标从 1 开始)返回结果,其中:
answer[i] == “FizzBuzz” 如果 i 同时是 3 和 5 的倍数。 answer[i] == “Fizz” 如果 i 是 3 的倍数。 answer[i] == “Buzz” 如果 i 是 5 的倍数。 answer[i] == i (以字符串形式)如果上述条件全不满足。
示例 1: 输入:n = 3 输出:[“1”, “2”, “Fizz”]
示例 2: 输入:n = 5 输出:[“1”, “2”, “Fizz”, “4”, “Buzz”]
示例 3: 输入:n = 15 输出:[“1”, “2”, “Fizz”, “4”, “Buzz”, “Fizz”, “7”, “8”, “Fizz”, “Buzz”, “11”, “Fizz”, “13”, “14”, “FizzBuzz”]
我们的思路是,先生成1-n的数字,再判断它们是否满足FizzBuzz或Fizz或Buzz的条件;要注意返回的空间需要我们自己开辟,我们需要开辟一个二级指针返回,对二级指针的下标访问即解引用的一级指针,用来分配单个字符串的空间;
代码语言:javascript复制 char** fizzBuzz(int n, int* returnSize)
{
//返回的数组的指针
char** ret = (char**)malloc(sizeof(char*) * n);
//生成1-n的数
for (int i = 1; i <= n; i )
{
//分配单个字符串的空间,因为最长的字符串为FizzBuzz,加上'