0%

生成每种字符都是奇数个的字符串

题目地址

难度:

题目描述:

给你一个整数 n,请你返回一个含 n 个字符的字符串,其中每种字符在该字符串中都恰好出现 奇数次

返回的字符串必须只含小写英文字母。如果存在多个满足题目要求的字符串,则返回其中任意一个即可。

示例1:

1
2
3
输入:n = 4
输出:"pppz"
解释:"pppz" 是一个满足题目要求的字符串,因为 'p' 出现 3 次,且 'z' 出现 1 次。当然,还有很多其他字符串也满足题目要求,比如:"ohhh" 和 "love"。

示例2:

1
2
3
输入:n = 2
输出:"xy"
解释:"xy" 是一个满足题目要求的字符串,因为 'x' 和 'y' 各出现 1 次。当然,还有很多其他字符串也满足题目要求,比如:"ag" 和 "ur"。

示例3:

1
2
输入:n = 7
输出:"holasss"

提示:

  • 1 <= n <= 500
🙋‍♂️🙋‍♂️🙋‍♂️🙋‍♂️🙋‍♂️🙋‍♂️🙋‍♂️🙋‍♂️🙋‍♂️🙋‍♂️🙋‍♂️🙋‍♂️🙋‍♂️🙋‍♂️🙋‍♂️解题过程🙋‍♂️🙋‍♂️🙋‍♂️🙋‍♂️🙋‍♂️🙋‍♂️🙋‍♂️🙋‍♂️🙋‍♂️🙋‍♂️🙋‍♂️🙋‍♂️🙋‍♂️🙋‍♂️🙋‍♂️
解题过程:

思路:

只用两个不同的字母组成字符串就可以满足要求,如果n是奇数,直接返回n个‘a’组成的字符串,如果n是偶数,则返回一个‘b’和n-1个’a‘组成的字符串。

c++代码:(执行用时0ms,击败100.00%,内存消耗6.6M,击败14.23%)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Solution {
public:
string generateTheString(int n) {
string result="";
//如果n是偶数,则添加一个‘b’
if(n%2==0){
result+='b';
--n;
}
while(n--){
//n或n-1个‘a’
result+='a';
}
return result;
}
};
⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳总 结⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳
总结:

没有官方题解,题目很简单,so easy!

------------- THE END! THANKS! -------------