LeetCode-Fizz Buzz

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_24133491/article/details/82936083

Description:
Write a program that outputs the string representation of numbers from 1 to n.

But for multiples of three it should output “Fizz” instead of the number and for the multiples of five output “Buzz”. For numbers which are multiples of both three and five output “FizzBuzz”.

Example:

n = 15,

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

题意:给定一个整数n,要求输出i(1<=i<=n)之间的所有整数;

  • 如果i % 3 == 0 && i % 5== 0 :输出"FizzBuzz"
  • 如果i % 3 == 0 :输出"Fizz"
  • 如果i % 5 == 0 :输出"Buzz"
  • 否则输出i

解法:只要按照题目要求的判断整数i符合上面的哪种情况就输出对应的结果;

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

猜你喜欢

转载自blog.csdn.net/qq_24133491/article/details/82936083