1. 程式人生 > >lintcode-簡單- Fizz Buzz 問題

lintcode-簡單- Fizz Buzz 問題

給你一個整數n. 從 1 到 n 按照下面的規則列印每個數:

  • 如果這個數被3整除,列印fizz.
  • 如果這個數被5整除,列印buzz.
  • 如果這個數能同時被35整除,列印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;
    }

}