給你一個整數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"
]
思考:這裡其實可以用stringbuilder的追加方法傳回字元串,但是lintcode要求傳回一個ArrayList,是以就就直接用ArrayList<String>的對象傳回。 這裡注意以下判斷順序,先判斷是否能被15整除,再判斷能被5正穿,最後判斷能否被3整除
AC代碼:
class Solution {
/**
* param n: As description.
* return: A list of strings.
*/
public ArrayList<String> fizzBuzz(int n) {
ArrayList<String> results = new ArrayList<String>();
for (int i = 1; i <= n; i++) {
if (i % 15 == 0) {
results.add("fizz buzz");
} else if (i % 5 == 0) {
results.add("buzz");
} else if (i % 3 == 0) {
results.add("fizz");
} else {
results.add(String.valueOf(i));
}
}
return results;
}
}