题目描述:
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”。
解题思路:
模拟题,略
Python代码:
class Solution(object):
def fizzBuzz(self, n):
"""
:type n: int
:rtype: List[str]
"""
return ['Fizz' * (not x % 3) + 'Buzz' * (not x % 5) or str(x) for x in range(1, n + 1)]
Python代码:
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 = "FizzBuzz"
elif x % 3 == 0:
n = "Fizz"
elif x % 5 == 0:
n = "Buzz"
ans.append(n)
return ans
本文链接:http://bookshadow.com/weblog/2016/10/09/leetcode-fizz-buzz/
请尊重作者的劳动成果,转载请注明出处!书影博客保留对文章的所有权利。