題目要求:
給你一個整數n. 從 1 到 n 按照下面的規則打印每個數:
- 如果這個數被3整除,打印fizz.
- 如果這個數被5整除,打印buzz.
- 如果這個數能同時被3和5整除,打印fizz buzz.
樣例:
比如 n = 15, 返回一個字符串數組:
[
"1", "2", "fizz",
"4", "buzz", "fizz",
"7", "8", "fizz",
"buzz", "11", "fizz",
"13", "14", "fizz buzz"
]
解題思路:
這道題和Leetcode上邊412題是一模一樣的,題目很簡單,直接上手就可以,只是需要我們注意的是,在分別判斷當前數字是否被3,5,15整除時,應該先判斷當前的數字是否能被15整除,然後纔是3和5,不要搞反了順序。
具體代碼實現:
public class Solution {
public List<String> fizzBuzz(int n) {
List<String> result = new ArrayList<>();
for (int i = 1; i <= n; i++) {
if (i%15 == 0) {
result.add("FizzBuzz");
} else if (i%3 == 0) {
result.add("Fizz");
} else if (i%5 == 0) {
result.add("Buzz");
} else {
result.add(String.valueOf(i));
}
}
return result;
}
}