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"
]
按序输出数字,逢3倍数则输出Fizz,逢5倍数则输出Buzz,3和5的倍数则输出FizzBuzz。
思路
按序扫描,条件满足则替换.
class Solution {
public:
vector<string> fizzBuzz(int n) {
vector<string> res;
for(int i=1;i<=n;i++){
string tmp="";
if(i%15==0) tmp="FizzBuzz";
else if(i%3==0) tmp="Fizz";
else if(i%5==0) tmp="Buzz";
else tmp=to_string(i);
res.push_back(tmp);
}
return res;
}
};
public class Solution {
public List<String> fizzBuzz(int n) {
List<String> res=new ArrayList<>();
for(int i=1;i<=n;i++){
if(i%15==0) res.add("FizzBuzz");
else if(i%3==0) res.add("Fizz");
else if(i%5==0) res.add("Buzz");
else res.add(String.valueOf(i));
}
return res;
}
}