题目描述

  • 等级: 简单

写一个程序,输出从 1 到 n 数字的字符串表示。

  1. 如果 n 是3的倍数,输出“Fizz”;
  2. 如果 n 是5的倍数,输出“Buzz”;
  3. 如果 n 同时是3和5的倍数,输出 “FizzBuzz”。

示例:

n = 15,

返回:
[
    "1",
    "2",
    "Fizz",
    "4",
    "Buzz",
    "Fizz",
    "7",
    "8",
    "Fizz",
    "Buzz",
    "11",
    "Fizz",
    "13",
    "14",
    "FizzBuzz"
]

思路

对于字符串的考察,对于这道题直接用最简单的思路处理了,如果碰到复杂的问题,需要用Map存储n与Fizz或Buzz的映射,之后进行字符串拼接。

答案

class Solution {
    public List<String> fizzBuzz(int n) {
        List<String> res = new ArrayList<>();
        for(int i=1;i<=n;i++){
            String str = "";
            if((i%3==0)&&(i%5==0)){
                str= "FizzBuzz";
            }else if(i%3==0){
                str= "Fizz";
            }else if(i%5==0){
                str= "Buzz";
            }else{
                str = String.valueOf(i);
            }
            res.add(str);
        }    
         return res;
    }
   
}

结果

412.png


tencent.jpg


clawhub
99 声望12 粉丝