LeetCode412[Fizz Buzz]

EricsT發表於2024-11-06

題目

連結

LeetCode412[Fizz Buzz]

詳情

LeetCode412[Fizz Buzz]

例項

例項1

LeetCode412[Fizz Buzz]

例項2

LeetCode412[Fizz Buzz]

例項3

LeetCode412[Fizz Buzz]

提示

LeetCode412[Fizz Buzz]

題解

思路

定義一個容器 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;
    }
};