写一个程序,输出从 1 到 n 数字的字符串表示。
如果 n 是3的倍数,输出“Fizz”;
如果 n 是5的倍数,输出“Buzz”;
3.如果 n 同时是3和5的倍数,输出 “FizzBuzz”。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/fizz-buzz
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
对3和5取余即可。
如果题目上不止两个数,如3–>Fizz、5–>Buzz、7–>Jazz…,可以使用HashMap存储{3: Fizz、5: Buzz、7: Jazz…}并进行遍历。
class Solution {
public List<String> fizzBuzz(int n) {
List<String> list = new LinkedList<>();
for(int i = 1; i <= n; ++i) { // 注意是1-n
String s = "";
// 注意由于是字符串拼接,因此判断3和5的顺序不能颠倒
if(i % 3 == 0) {
s += "Fizz";
}
if(i % 5 == 0) {
s += "Buzz";
}
if(s.length() == 0) { // 若既不能被3整除又不能被5整除,s就是字符串化的数字i
s = String.valueOf(i);
}
list.add(s); // 添加至list中
}
return list;
}
}