[LeetCode] 412.Fizz Buzz
- 题目描述
- 解题思路
- 实验代码
题目描述
Write a program that outputs the string representation of numbers from 1 to n.
But for multiples of three it should output “Fizz” instead of the number and for the multiples of five output “Buzz”. For numbers which are multiples of both three and five output “FizzBuzz”.
Example:
n = 15,
Return:
[
“1”,
“2”,
“Fizz”,
“4”,
“Buzz”,
“Fizz”,
“7”,
“8”,
“Fizz”,
“Buzz”,
“11”,
“Fizz”,
“13”,
“14”,
“FizzBuzz”
]
解题思路
只要弄清楚题目意思这道题就很容易能解决,唯一一点就是注意vector容器,类型为string,在除了被3整除和被5整除以及被15整除三种情况外,其他的数字也要转换为字符串类型压入vector,我这里用到了to_string()函数解决了这个问题。
实验代码
class Solution {
public:
vector<string> fizzBuzz(int n) {
vector<string> v;
for (int i = 1; i <= n; i++) {
if ((i % 3 == 0) && (i % 5 == 0))
v.push_back("FizzBuzz");
else if (i % 3 == 0)
v.push_back("Fizz");
else if (i % 5 == 0)
v.push_back("Buzz");
else v.push_back(to_string(i));
}
return v;
}
};
本文解析了LeetCode上412.FizzBuzz问题的解题思路及实现方法。针对1到n的数字,对于3的倍数输出Fizz,对于5的倍数输出Buzz,同时为3和5的倍数则输出FizzBuzz,其余数字转换为字符串形式。通过C++实现,并展示了完整的代码。
719

被折叠的 条评论
为什么被折叠?



