Tutorial: Fizz Buzz

本文介绍LeetCode经典入门题目FizzBuzz的解法。该题要求输出1到N的数字,但3的倍数替换为Fizz,5的倍数替换为Buzz,15的倍数替换为FizzBuzz。

简介

FizzBuzz是LeetCode上的一道入门题目,难度相当低。

题目

原题链接FizzBuzz,大家点进去就能看到LeetCode上的原题,注册个账号就能做题了。下面给出题目的大概翻译:

给定一个正整数N,要求返回一个有N个元素的List,对应从1到N的N个数。当对应的数为15的倍数时,在list中的对应位置添加FizzBuzz;当对应的数为5的倍数时,添加Buzz;当对应的数为3的倍数时,添加Fizz。
举例如下:
n = 15,
Return:
[
    “1”,
    “2”,
    “Fizz”,
    “4”,
    “Buzz”,
    “Fizz”,
    “7”,
    “8”,
    “Fizz”,
    “Buzz”,
    “11”,
    “Fizz”,
    “13”,
    “14”,
    “FizzBuzz”
]

算法

解这道题不需要链表之类的高级数据结构,用内置的List类型来解决就可以了。算法在题目中已经讲解的非常明白,这里就不在赘述了。

代码

public class FizzBuzz {

    public void Show(int n){
        List<String> list=new ArrayList<>();
        list=fizzBuzz(n);
        for (int i=0;i<n;i++){
            System.out.println(list.get(i));
        }
    }

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

}

Copy Right

Copyright © 2015 - 2016 stormlin. All Rights Reserved.
Go to my 优快云 blog for more interesting things.
For more information, follow my Subscription Account: Hello Programmer by scanning the QR code below.
QR Code

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值