美文网首页
LeetCodeDay25 —— Fizz Buzz

LeetCodeDay25 —— Fizz Buzz

作者: GoMomi | 来源:发表于2018-05-03 15:31 被阅读0次

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<string> fizzBuzz(int n) {
    if (n <= 0) vector<string>();
    string three = "Fizz";
    string five = "Buzz";
    string multiple = "FizzBuzz";
    vector<string> 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

      本文链接:https://www.haomeiwen.com/subject/gbtlrftx.html