题目描述
写一个程序,输出从 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”
]
解题思路
这个太简单了…简单到我不敢相信,用了超大的数去测试自己的代码发现超出内存限制,一提交竟然通过了.
代码实现
class Solution {
public List<String> fizzBuzz(int n) {
List<String> list =new ArrayList<>(n);
for(int i=1;i<n+1;i++){
if(i%15==0)list.add("FizzBuzz");
else if(i%3!=0&&i%5!=0)list.add(Integer.toString(i));
else if(i%3==0)list.add("Fizz");
else list.add("Buzz");
}
return list;
}
}
执行用时 :
3 ms, 在所有 Java 提交中击败了90.43%的用户
内存消耗 :
42.4 MB, 在所有 Java 提交中击败了44.46%的用户