LeetCode --- 字符串系列 --- 生成每种字符都是奇数个的字符串
生成每种字符都是奇数个的字符串
题目
给你一个整数 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"
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/generate-a-string-with-characters-that-have-odd-counts
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
解题思路
1、先循环 n - 1, 对 字母 a 进行拼接
2、判断 n 是否是奇数
2、1 如果是奇数,再拼接一个 a 即可
2、2 若不是奇数,再拼接一个其他字母即可
或
较好力扣题解
1、判断 n 是否是奇数
1、1、如果是奇数,直接对字母 a 使用 repeat 方法复制 n 次
1、2、如果是不是奇数,直接对字母 a 使用 repeat 方法复制 n - 1 次
再拼接一个其他字母即可
题解
let generateTheString = function(n) {
let str = ''
// 先循环 n - 1, 对 字母 a 进行拼接
for (let i = 0; i < n - 1; i++) {
str += 'a'
}
// 判断 n 是否是奇数
if (n % 2) {
// 如果是奇数,再拼接一个 a 即可
return str += 'a'
}
// 若不是奇数,再拼接一个其他字母即可
return str += 'b'
}
或
较好力扣题解
let generateTheString = function(n) {
let str = ''
// 先循环 n - 1, 对 字母 a 进行拼接
for (let i = 0; i < n - 1; i++) {
str += 'a'
}
// 判断 n 是否是奇数
if (n % 2) {
// 如果是奇数,再拼接一个 a 即可
return str += 'a'
}
// 若不是奇数,再拼接一个其他字母即可
return str += 'b'
}
都读到最后了、留下个建议如何