描述
给你一个整数n. 从 1 到 n 按照下面的规则打印每个数:
- 如果这个数被3整除,打印fizz.
- 如果这个数被5整除,打印
buzz
. - 如果这个数能同时被3和5整除,打印
fizz buzz
.
样例
比如 n = 15
, 返回一个字符串数组:
挑战
Can you do it with only one if
statement?
代码实现:
class Solution {
public:
/**
* @param n: An integer
* @return: A list of strings.
*/
vector<string> fizzBuzz(int n)
{
vector<string> C; //定义一个动态数组
for(int i = 1;i<=n;i++)
{
if(i%3==0 && i%5==0)
{
C.push_back("fizz buzz");
}
else if (i%3==0 && i%5!=0)
{
C.push_back("fizz");
}
else if(i%3!=0 && i%5==0)
{
C.push_back("buzz");
}
else
{
C.push_back(to_string(i)); //此处使用标准库中的to_string()函数,将int类型转换成string类型
}
}
return C;
}
};
代码分析:
- 定义动态数组C;
- 使用push_back()函数在数组最后插入元素;
- 使用标准库中的to_string()函数,将int类型转换成string类型;