题目描述
给你一个整数n. 从 1 到 n 按照下面的规则打印每个数:
- 如果这个数被3整除,打印fizz.
- 如果这个数被5整除,打印buzz.
- 如果这个数能同时被3和5整除,打印fizz buzz.
- 如果这个数既不能被 3 整除也不能被 5 整除,打印数字本身。
样例
比如 n = 15, 返回一个字符串数组:
[
"1", "2", "fizz",
"4", "buzz", "fizz",
"7", "8", "fizz",
"buzz", "11", "fizz",
"13", "14", "fizz buzz"
]
java题解
class Solution {
/**
* param n: As description.
* return: A list of strings.
*/
public ArrayList<String> fizzBuzz(int n) {
ArrayList<String> results = new ArrayList<String>();
for (int i = 1; i <= n; i++) {
//能同时被3跟5整除的数,肯定也能被3整除,也能被5整除,所以要先判断能否被15整除
if (i % 15 == 0) {
results.add("fizz buzz");
} else if (i % 5 == 0) {
results.add("buzz");
} else if (i % 3 == 0) {
results.add("fizz");
} else {
results.add(String.valueOf(i));
}
}
return results;
}
}
C++题解
class Solution {
public:
/*
* param n: As description.
* return: A list of strings.
*/
vector<string> fizzBuzz(int n) {
vector<string> results;
for (int i = 1; i <= n; i++) {
//能同时被3跟5整除的数,肯定也能被3整除,也能被5整除,所以要先判断能否被15整除
if (i % 15 == 0) {
results.push_back("fizz buzz");
} else if (i % 5 == 0) {
results.push_back("buzz");
} else if (i % 3 == 0) {
results.push_back("fizz");
} else {
results.push_back(to_string(i));
}
}
return results;
}
};
python题解
class Solution:
"""
@param n: An integer as description
@return: A list of strings.
For example, if n = 7, your code should return
["1", "2", "fizz", "4", "buzz", "fizz", "7"]
"""
def fizzBuzz(self, n):
results = []
for i in range(1, n+1):
# 能同时被3跟5整除的数,肯定也能被3整除,也能被5整除,所以要先判断能否被15整除
if i % 15 == 0:
results.append("fizz buzz")
elif i % 5 == 0:
results.append("buzz")
elif i % 3 == 0:
results.append("fizz")
else:
results.append(str(i))
return results