LeetCode412[Fizz Buzz]
题目
链接
详情
实例
实例1
实例2
实例3
提示
题解
思路
定义一个容器 sRetVec,依次遍历每一个数
如果可以被3和5同时整除,则在容器内加入一个元素"FizzBuzz",即 1 == ((0 == (num % 3)) && (0 == (num % 5)))
成立,sRetVec.push_back("FizzBuzz")
继续遍历下一个数
如果可以被3整除,则在容器内加入一个元素"Fizz",即 0 == (num % 3)
成立,sRetVec.push_back("Fizz")
继续遍历下一个数
如果可以被3整除,则在容器内加入一个元素"Buzz",即 0 == (num % 5)
成立,sRetVec.push_back("Buzz")
继续遍历下一个数
如果均不行,则将数值转换为字符串并加入容器,即sprintf(buff, "%d", num)//char buff[10] = { 0 };
sRetVec.push_back(buff)
继续遍历下一个数
最后遍历完输出容器
代码
class Solution {
public:
vector<string> fizzBuzz(int n) {
vector<string> sRetVec;
for (int i = 1; i < n + 1; i++)
{
if ((0 == (i % 3)) && (0 == (i % 5)))
sRetVec.push_back("FizzBuzz");
else if (0 == (i % 3))
sRetVec.push_back("Fizz");
else if (0 == (i % 5))
sRetVec.push_back("Buzz");
else
{
char buff[10] = { 0 };
sprintf(buff, "%d", i);
sRetVec.push_back(buff);
}
}
return sRetVec;
}
};
本文来自博客园,作者:EricsT,转载请注明原文链接:https://www.cnblogs.com/EricsT/p/18531253