Fizz Buzz
写一个程序,输出从 1 到 n 数字的字符串表示。
-
如果 n 是3的倍数,输出“Fizz”;
-
如果 n 是5的倍数,输出“Buzz”;
-
如果 n 同时是3和5的倍数,输出 “FizzBuzz”。
示例:
n = 15, 返回: [ "1", "2", "Fizz", "4", "Buzz", "Fizz", "7", "8", "Fizz", "Buzz", "11", "Fizz", "13", "14", "FizzBuzz" ]
我的思路
思路一
直接先列加进去,然后按照3 5 15加进去。不过这样重复的添加,导致了程序的耗时稍长
class Solution { public ListfizzBuzz(int n) { List list = new ArrayList<>(); for(int i = 1; i <= n ; i ++){ list.add(i+""); } for(int i = 1;i*3-1 参考答案
做if判断,减少使用set方法
class Solution { public ListfizzBuzz(int n) { List res=new ArrayList (); for(int i=1;i<=n;i++){ if(i%15==0){ res.add("FizzBuzz"); }else if(i%5==0){ res.add("Buzz"); }else if(i%3==0){ res.add("Fizz"); }else{ res.add(String.valueOf(i)); } } return res; } }