Problem: 412. Fizz Buzz
思路
要设置列表类型
List<String> answer = new ArrayList<String>();
还要用到for循环,其次,add是添加你的定义元素到第i个位置,i后没中断那个数字,好要用continue终止。
而append则要在固定的情况才能用,如
StringBuffer ans = new StringBuffer();
且
if (ans.length() == 0) {
ans.append(i);
}
为往ans里添加数组。
最后还要加上
answer.add(ans.toString());
来输出固定的元素。
最后返回answer。
解题方法
可以用到两种方法apppend和add
复杂度
- 时间复杂度:
O(n)
- 空间复杂度:
O(1)就一个返回值answer,没变化。
Code
Java
class Solution {
public List<String> fizzBuzz(int n) {
List<String> answer =new ArrayList<>();
for(int i=1;i<=n;i++){
if(i%3==0){
if(i%5==0){
answer.add("FizzBuzz");
}else{
answer.add("Fizz");}
continue;
}
if(i%5==0){
answer.add("Buzz");
continue;
}
answer.add(i+"");
}
return answer;
}
}
第二种方法
class Solution {
public List<String> fizzBuzz(int n) {
List<String> answer =new ArrayList<String>();
for(int i=1;i<=n;i++){
StringBuffer ans = new StringBuffer();
if(i%3==0){
ans.append("Fizz");}
if(i%5==0){
ans.append("Buzz");
}
if (ans.length() == 0) {
ans.append(i);
}
answer.add(ans.toString());
}
return answer;
}
}