「每日LeetCode」2021年3月21日

本文最后更新于:2023年3月19日 晚上

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

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

给你一个整数 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

思路

判断是奇数还是偶数,偶数就截取一个为 a,剩下的为 b。如果是奇数就截取两个为 ab 剩下的为 c 即可。

解答

1
2
3
4
5
6
7
8
9
10
/**
* @param {number} n
* @return {string}
*/
var generateTheString = function (n) {
if (n === 1) return "a";
return n % 2 === 0
? "a" + new Array(n - 1).fill("b").join("")
: "ab" + new Array(n - 2).fill("c").join("");
};