class Solution { public List<String> fizzBuzz(int n) { int i = n; List<String> bin = new ArrayList<>(); while(i>0){i = i % 3 == 0 ? i % 5 == 0 ? bin[i]+="Buzz":bin[i]+="Fizz":bin[i]+=i;--i;} return bin; } }
时间: 2024-03-21 17:41:27 浏览: 22
这段代码有一些语法错误,我帮您修正一下:
```java
class Solution {
public List<String> fizzBuzz(int n) {
List<String> bin = new ArrayList<>();
for (int i = 1; i <= n; i++) {
if (i % 3 == 0 && i % 5 == 0) {
bin.add("FizzBuzz");
} else if (i % 3 == 0) {
bin.add("Fizz");
} else if (i % 5 == 0) {
bin.add("Buzz");
} else {
bin.add(String.valueOf(i));
}
}
return bin;
}
}
```
这段代码的功能是生成一个长度为n的List,其中第i个元素的值根据i的值进行生成:
- 如果i可以被3整除,则为"Fizz"
- 如果i可以被5整除,则为"Buzz"
- 如果i既可以被3整除,又可以被5整除,则为"FizzBuzz"
- 否则为i的字符串形式。
例如,当n为15时,返回的List应为:
```
["1","2","Fizz","4","Buzz","Fizz","7","8","Fizz","Buzz","11","Fizz","13","14","FizzBuzz"]
```