1374. 生成每种字符都是奇数个的字符串
给你一个整数 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”
提示:
- 1 <= n <= 500
解题思路
该题没有要求返回的字符有什么限制,只要求字符出现是奇数次就行,那么返回两个不同字符即可
如果n
是奇数,直接全部返回n
个a
就符合题意了,如果n
是偶数,则返回n-1
个a
和1
个b
即可
Go代码
func generateTheString(n int) string {
// 该题没有要求返回的字符有什么限制,只要求字符出现是奇数次就行,那么返回两个不同字符即可
// 如果n是奇数,直接全部返回n个a就符合题意了,如果n是偶数,则返回n-1个a和1个b即可
if n < 1 {
return ""
}
if n % 2 == 0 {
return buildString(n-1) + "b"
} else {
return buildString(n)
}
}
func buildString(n int) string {
res := ""
for i := 0 ; i < n ;i++ {
res += "a"
}
return res
}