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

Posted Tisfy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 1374.生成每种字符都是奇数个的字符串相关的知识,希望对你有一定的参考价值。

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

力扣题目链接:https://leetcode.cn/problems/generate-a-string-with-characters-that-have-odd-counts/

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

方法一:构造

  • 如果字符串的长度为奇数,那么字符串中每个字符都是a就能满足题目要求;
  • 如果字符串的长度为偶数( n n n),那么 n − 1 n-1 n1为奇数,返回 n − 1 n-1 n1a 1 1 1b就能满足题目要求。

(PS: 可使用语法糖——三木运算符 一行代码解决)

  • 时间复杂度 O ( n ) O(n) O(n)
  • 空间复杂度 O ( 1 ) O(1) O(1)

AC代码

C++

class Solution 
public:
    string generateTheString(int n) 
        return n % 2 ? string(n, 'a') : string(n - 1, 'a') + 'b';
    
;

同步发文于CSDN,原创不易,转载请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/126093645

以上是关于LeetCode 1374.生成每种字符都是奇数个的字符串的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

LeetCode | 1374. Generate a String With Characters That Have Odd Counts生成每种字符都是奇数个的字符串Python

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

「 每日一练,快乐水题 」1374. 生成每种字符都是奇数个的字符串