題目
連結
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;
}
};