412. Fizz Buzz
描述
- 写一个程序,输出从 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"
]
思路
- 一个简单的求余的算法。根据不同的情况添加不同的结果到Vector中。
- std:to_string可以方便的将int转化为string
- 将待定的字符串定义成常量是个好习惯。
class Solution_412 {
public:
vector<string> fizzBuzz(int n) {
if (n <= 0) vector<string>();
string three = "Fizz";
string five = "Buzz";
string multiple = "FizzBuzz";
vector<string> res;
for (int i = 1; i <= n; ++i) {
if (i % 3 == 0 && i % 5 == 0)
res.push_back(multiple);
else if (i % 3 == 0)
res.push_back(three);
else if (i % 5 == 0)
res.push_back(five);
else
res.push_back(to_string(i));
}
return res;
}
};