1. 程式人生 > >【LeetCode】 412. Fizz Buzz

【LeetCode】 412. Fizz Buzz

1.題目

寫一個程式,輸出從 1 到 n 數字的字串表示。

  1. 如果 n 是3的倍數,輸出“Fizz”;

  2. 如果 n 是5的倍數,輸出“Buzz”;

3.如果 n 同時是3和5的倍數,輸出 “FizzBuzz”。

2.思路

輸出數字的時候利用to_string函式

3.程式碼

class Solution {
public:
    vector<string> fizzBuzz(int n) {
        vector<string>res;
	for(int i=1;i<=
n;i++){ if(i%15==0){ res.push_back("FizzBuzz"); continue; } else if(i%3==0&&i%5!=0){ res.push_back("Fizz"); continue; } else if(i%3!=0&&i%5==0){ res.push_back("Buzz"); continue; } else{ res.push_back(to_string(i)); } } return res; } };

4.優秀案例

class Solution {
public:
    vector<string> fizzBuzz(int n) {
        vector<string> results(n);
        for (int i = 1; i <= n; ++i) {
            if((i % 3) && (i % 5)) {
                results[i - 1] = to_string(i);
            }
            else if (!(i % 3) &&
(i % 5)) { results[i - 1] = "Fizz"; } else if ((i % 3) && !(i % 5)) { results[i - 1] = "Buzz"; } else { results[i - 1] = "FizzBuzz"; } } return results; } };