题目描述:
写一个程序,输出从 1 到 n 数字的字符串表示。
如果 n 是3的倍数,输出“Fizz”;
如果 n 是5的倍数,输出“Buzz”;
如果 n 同时是3和5的倍数,输出 “FizzBuzz”。
示例:
n = 15,
返回:
[
"1",
"2",
"Fizz",
"4",
"Buzz",
"Fizz",
"7",
"8",
"Fizz",
"Buzz",
"11",
"Fizz",
"13",
"14",
"FizzBuzz"
]
解法:
class Solution {
public:
string toString(int n){
if(n%15 == 0){
return "FizzBuzz";
}else if(n%3 == 0){
return "Fizz";
}else if(n%5 == 0){
return "Buzz";
}else{
string res = "";
while(n != 0){
res = char('0' + n%10) + res;
n /= 10;
}
return res;
}
}
vector<string> fizzBuzz(int n) {
vector<string> res;
for(int i = 1; i <= n; i++){
res.push_back(toString(i));
}
return res;
}
};