在C/C++中交替使用元音和辅音字符串

2023年 8月 27日 45.6k 0

在C/C++中交替使用元音和辅音字符串

给定一个字符串,重新排列字符串中的字符,使得元音和辅音占据交替的位置。如果字符串不能按照上述方式重新排列,则打印“不可能”。

元音之间的顺序和辅音之间的顺序应该保持不变。

Input: abce
Output: abec

登录后复制

Explanation

  • 计算字符串中元音字母和辅音字母的数量。

  • 如果元音字母和辅音字母的数量之差超过1,则返回“不可能”。

  • 如果字符串中元音字母的数量多于辅音字母,则先打印第一个元音字母,然后对剩余的字符串进行递归。

  • 如果字符串中辅音字母的数量多于元音字母,则先打印第一个辅音字母,然后对剩余的字符串进行递归。

  • 如果元音字母和辅音字母的数量相同,则比较第一个元音字母和第一个辅音字母,并先打印较小的那个。

Example

#include
using namespace std;
bool isVowel(char ch) {
if (ch == 'a' || ch == 'e' || ch == 'i' ||
ch == 'o' || ch =='u')
return true;
return false;
}
string createAltStr(string str1, string str2,
int start, int l) {
string finalStr = "";
for (int i=0, j=start; j nc)
return (vstr.at(0) + createAltStr(cstr, vstr, 1, nv));
if (nc > nv)
return (cstr.at(0) + createAltStr(vstr, cstr, 1, nc));
if (cstr.at(0) < vstr.at(0))
return createAltStr(cstr, vstr, 0, nv);
return createAltStr(vstr, cstr, 0, nc);
}
int main() {
string str = "abde";
cout

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论