给你一个整数 n,请你返回一个含 _n _个字符的字符串,其中每种字符在该字符串中都恰好出现 奇数次 。
返回的字符串必须只含小写英文字母。如果存在多个满足题目要求的字符串,则返回其中任意一个即可。
示例 1:
**输入:** n = 4
**输出:** "pppz"
**解释:** "pppz" 是一个满足题目要求的字符串,因为 'p' 出现 3 次,且 'z' 出现 1 次。当然,还有很多其他字符串也满足题目要求,比如:"ohhh" 和 "love"。
示例 2:
**输入:** n = 2
**输出:** "xy"
**解释:** "xy" 是一个满足题目要求的字符串,因为 'x' 和 'y' 各出现 1 次。当然,还有很多其他字符串也满足题目要求,比如:"ag" 和 "ur"。
示例 3:
**输入:** n = 7
**输出:** "holasss"
提示:
方法一:分类讨论
思路与算法
当 n 为奇数时,我们返回 n 个 `a’ 组成的字符串。
当 n 为偶数时,我们返回 n-1 个 a' 和一个 b’ 组成的字符串。
代码
[sol1-C++]| 12
 3
 4
 5
 6
 7
 8
 9
 
 | class Solution {public:
 string generateTheString(int n) {
 if (n % 2 == 1) {
 return string(n, 'a');
 }
 return string(n - 1, 'a') + 'b';
 }
 };
 
 | 
 [sol1-Java]| 12
 3
 4
 5
 6
 7
 8
 9
 
 | class Solution {public String generateTheString(int n) {
 StringBuffer sb = new StringBuffer();
 if (n % 2 == 1) {
 return sb.append("a".repeat(n)).toString();
 }
 return sb.append("a".repeat(n - 1)).append("b").toString();
 }
 }
 
 | 
 [sol1-C#]| 12
 3
 4
 5
 6
 7
 8
 9
 
 | public class Solution {public string GenerateTheString(int n) {
 StringBuilder sb = new StringBuilder();
 if (n % 2 == 1) {
 return new string('a', n);
 }
 return new string('a', n - 1) + "b";
 }
 }
 
 | 
 [sol1-Python3]| 12
 3
 4
 5
 
 | class Solution:def generateTheString(self, n: int) -> str:
 if n % 2 == 1:
 return "a" * n
 return "a" * (n - 1) + "b"
 
 | 
 [sol1-C]| 12
 3
 4
 5
 6
 7
 8
 9
 10
 
 | char * generateTheString(int n) {char * ans = (char *)malloc(sizeof(char) * (n + 1));
 memset(ans, 'a', sizeof(char) * n);
 ans[n] = '\0';
 if (n % 2 == 1) {
 return ans;
 }
 ans[n - 1] = 'b';
 return ans;
 }
 
 | 
 [sol1-Golang]| 12
 3
 4
 5
 6
 
 | func generateTheString(n int) string {if n%2 == 1 {
 return strings.Repeat("a", n)
 }
 return strings.Repeat("a", n-1) + "b"
 }
 
 | 
 [sol1-JavaScript]| 12
 3
 4
 5
 6
 7
 
 | var generateTheString = function(n) {const sb = '';
 if (n % 2 === 1) {
 return sb + 'a'.repeat(n);;
 }
 return sb + 'a'.repeat(n - 1) + 'b';
 };
 
 | 
 复杂度分析