412.Fizz Buzz

49 阅读1分钟

题目:
给你一个整数 n ,找出从 1 到 n 各个整数的 Fizz Buzz 表示,并用字符串数组 answer下标从 1 开始)返回结果,其中:

  • answer[i] == "FizzBuzz" 如果 i 同时是 3 和 5 的倍数。
  • answer[i] == "Fizz" 如果 i 是 3 的倍数。
  • answer[i] == "Buzz" 如果 i 是 5 的倍数。
  • answer[i] == i (以字符串形式)如果上述条件全不满足。
    解法:
func fizzBuzz(n int) []string {
	next3 := 3
	next5 := 5
	ans := make([]string, n)
	for i := 1; i <= n; i ++ {
		str := ""
		if i == next3 {
			next3 = next3 + 3
			str = "Fizz"
		}
		if i == next5 {
			next5 = next5 + 5
			str = str + "Buzz"
		}
		if str == "" {
			str = fmt.Sprintf("%d", i)
		}
		ans[i - 1] = str
	}
	return ans
}