劍指Offer之Fizz Buzz 問題

題目要求:

給你一個整數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;
        }
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章