题目描述
写一个程序,输出从 1 到 n 数字的字符串表示。
1. 如果 n 是3的倍数,输出“Fizz”;
2. 如果 n 是5的倍数,输出“Buzz”;
3.如果 n 同时是3和5的倍数,输出 “FizzBuzz”。
示例:
n = 15, 返回: [ "1", "2", "Fizz", "4", "Buzz", "Fizz", "7", "8", "Fizz", "Buzz", "11", "Fizz", "13", "14", "FizzBuzz" ]
问题分析
先判断如果是15的倍数,说明既是3的倍数又是5的倍数,存入"FizzBuzz";然后判断如果是3的倍数,存入"Fizz";然后判断如果是5的倍数,存入"Buzz";否则将整数转成字符串后存入。最后返回ans。
代码实现
class Solution {
public:
vector<string> fizzBuzz(int n) {
vector<string> ans;
for(int i = 1; i <= n; i++){
if(i % 15 == 0)
ans.push_back("FizzBuzz");
else if(i % 3 == 0)
ans.push_back("Fizz");
else if(i % 5 == 0)
ans.push_back("Buzz");
else
ans.push_back(to_string(i));
}
return ans;
}
};