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"
]
题目大意:
编写程序输出数字1-n的字符串形式。
但是对于3的倍数输出 “Fizz”,5的倍数输出“Buzz”。既是3的倍数,又是5的倍数输出“FizzBuzz”。
方法一:88ms
class Solution(object):
def fizzBuzz(self, n):
"""
:type n: int
:rtype: List[str]
"""
ans = []
for x in range(1, n + 1):
n = str(x)
if x % 15 == 0:
n = "Fizz Buzz"
elif x % 3 == 0:
n = "Fizz"
elif x % 5 == 0:
n = "Buzz"
ans.append(n)
return ans
有个方法是,不必判断所有的数是否符合这三个条件之一,回头补上这种方法,空间换时间。