[LeetCode] 412.Fizz Buzz

本文解析了LeetCode上412.FizzBuzz问题的解题思路及实现方法。针对1到n的数字,对于3的倍数输出Fizz,对于5的倍数输出Buzz,同时为3和5的倍数则输出FizzBuzz,其余数字转换为字符串形式。通过C++实现,并展示了完整的代码。

[LeetCode] 412.Fizz Buzz

  • 题目描述
  • 解题思路
  • 实验代码

题目描述

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”
]

解题思路

只要弄清楚题目意思这道题就很容易能解决,唯一一点就是注意vector容器,类型为string,在除了被3整除和被5整除以及被15整除三种情况外,其他的数字也要转换为字符串类型压入vector,我这里用到了to_string()函数解决了这个问题。

实验代码

class Solution {
public:
    vector<string> fizzBuzz(int n) {
        vector<string> v;
        for (int i = 1; i <= n; i++) {
            if ((i % 3 == 0) && (i % 5 == 0))
                v.push_back("FizzBuzz");
            else if (i % 3 == 0)
                v.push_back("Fizz");
            else if (i % 5 == 0)
                v.push_back("Buzz");
            else v.push_back(to_string(i));
        }
        return v;
    }
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值