题目: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 如果上述条件全不满足。
解题思路
能被15整除的数肯定是3和5的倍数
FizzBuzz是3和5的组合,可以先判断是否是3的倍数,再判断是否是5的倍数,如果都是则累加字符串,否则只保留一个字符串
代码
class Solution {
public:
vector<string> fizzBuzz(int n) {
vector<string> res;
for(int i=1;i<=n;++i)
{
if(i>=15&&i%15==0)
{
res.push_back("FizzBuzz");
}
else if(i%3==0)
{
res.push_back("Fizz");
}
else if(i%5==0)
{
res.push_back("Buzz");
}
else
{
res.push_back(to_string(i));
}
}
return res;
}
};
class Solution {
public:
vector<string> fizzBuzz(int n) {
vector<string> answer;
for (int i = 1; i <= n; i++) {
string curr;
if (i % 3 == 0) {
curr += "Fizz";
}
if (i % 5 == 0) {
curr += "Buzz";
}
if (curr.size() == 0) {
curr += to_string(i);
}
answer.emplace_back(curr);
}
return answer;
}
};