LeetCodeDay25 —— Fizz Buzz

412. Fizz Buzz

描述
  • 写一个程序,输出从 1 到 n 数字的字符串表示。
  • 如果 n 是3的倍数,输出“Fizz”;
  • 如果 n 是5的倍数,输出“Buzz”;
  • 如果 n 同时是3和5的倍数,输出 “FizzBuzz”。
示例
n = 15,
返回:
[
    "1",
    "2",
    "Fizz",
    "4",
    "Buzz",
    "Fizz",
    "7",
    "8",
    "Fizz",
    "Buzz",
    "11",
    "Fizz",
    "13",
    "14",
    "FizzBuzz"
]
思路
  1. 一个简单的求余的算法。根据不同的情况添加不同的结果到Vector中。
  2. std:to_string可以方便的将int转化为string
  3. 将待定的字符串定义成常量是个好习惯。
class Solution_412 {
 public:
  vector fizzBuzz(int n) {
    if (n <= 0) vector();
    string three = "Fizz";
    string five = "Buzz";
    string multiple = "FizzBuzz";
    vector res;
    for (int i = 1; i <= n; ++i) {
      if (i % 3 == 0 && i % 5 == 0)
        res.push_back(multiple);
      else if (i % 3 == 0)
        res.push_back(three);
      else if (i % 5 == 0)
        res.push_back(five);
      else
        res.push_back(to_string(i));
    }
    return res;
  }
};

你可能感兴趣的:(LeetCodeDay25 —— Fizz Buzz)