题目地址:
https://www.acwing.com/problem/content/4218/
给定一个由大小写字母构成的字符串,请你对该字符串进行如下处理:将所有大写字母替换为相应的小写字母。删除其中的所有元音字母。在每个辅音字母前面插入一个 . . .。字母 a , o , y , e , u , i a,o,y,e,u,i a,o,y,e,u,i为元音字母,其余字母均为辅音字母。注意, y y y其实是半元音字母,在本题中规定其为元音字母。
输入格式:
一个由大小写字母构成的字符串。
输出格式:
输出处理后的字符串。保证处理后的字符串不为空。
数据范围:
所有测试点满足,字符串长度范围
[
1
,
100
]
[1,100]
[1,100]。
代码如下:
#include <iostream>
#include <cstring>
using namespace std;
string s;
int main() {
cin >> s;
string o = "aeiouy";
for (char &ch : s) {
ch = tolower(ch);
if (o.find(ch) == -1) cout << '.' << ch;
}
return 0;
}
时间复杂度 O ( l s ) O(l_s) O(ls),空间 O ( 1 ) O(1) O(1)。