弱智题。就是在做if语句的判断,最后输出的是一个数组。 3的倍数输出Fizz,5的倍数输出Buzz,同时为3和5的倍数输出FizzBuzz。例子,
Example:
n = 15, Return: [ "1", "2", "Fizz", "4", "Buzz", "Fizz", "7", "8", "Fizz", "Buzz", "11", "Fizz", "13", "14", "FizzBuzz" ]
时间O(n)
空间O(n) - 因为输出的是string array
Java实现
1 class Solution { 2 public List<String> fizzBuzz(int n) { 3 List<String> res = new ArrayList<>(); 4 if (n == 0) 5 return res; 6 for (int i = 1; i <= n; i++) { 7 if (i % 3 == 0 && i % 5 == 0) { 8 res.add("FizzBuzz"); 9 } else if (i % 3 == 0) { 10 res.add("Fizz"); 11 } else if (i % 5 == 0) { 12 res.add("Buzz"); 13 } else { 14 res.add(String.valueOf(i)); 15 } 16 } 17 return res; 18 } 19 }
JavaScript实现
1 /** 2 * @param {number} n 3 * @return {string[]} 4 */ 5 var fizzBuzz = function(n) { 6 let res = []; 7 // corner case 8 if (n == 0) return res; 9 10 // normal case 11 for (let i = 1; i <= n; i++) { 12 if (i % 3 == 0 && i % 5 == 0) { 13 res.push('FizzBuzz'); 14 } else if (i % 3 == 0) { 15 res.push('Fizz'); 16 } else if (i % 5 == 0) { 17 res.push('Buzz'); 18 } else { 19 res.push(i.toString()); 20 } 21 } 22 return res; 23 };