写一个程序,输出从 1 到 n 数字的字符串表示。
- 如果 n 是3的倍数,输出“Fizz”;
- 如果 n 是5的倍数,输出“Buzz”;
3.如果 n 同时是3和5的倍数,输出 “FizzBuzz”。
示例:
n = 15,
返回:
[
"1",
"2",
"Fizz",
"4",
"Buzz",
"Fizz",
"7",
"8",
"Fizz",
"Buzz",
"11",
"Fizz",
"13",
"14",
"FizzBuzz"
]
解
直接暴力求解即可,使用temp记录是否需要添加“Fizz”和“Buzz”,根据temp的长度判断当前位置应该加入字符串还是数字。
public List<String> fizzBuzz(int n) {
List<String> res = new ArrayList<>();
for(int i =1;i<=n;i++){
String temp = "";
if(i % 3 == 0)
temp += "Fizz";
// res.add("Fizz");
if(i % 5 == 0)
temp += "Buzz";
if(temp.equals(""))
res.add(i+"");
else
res.add(temp);
}
return res;
}
网友评论