1 条题解
-
0
📝 题目大意
给定一个由小写英文字母组成的字符串 (长度 ),要求删除其中所有的元音字母
a、e、i、o、u,输出剩下的字符组成的字符串。题目保证 中至少有一个非元音字符。💡 解题思路
- 题目分析:字符串长度最多 ,数据规模极小,直接模拟即可。元音字母只有固定的五个小写字母,无需考虑大写或其它字符。
- 算法推导:
- 读入字符串 ,用一个空字符串
result存放结果。 - 遍历 中的每个字符 :
- 若 不是
a、e、i、o、u中的任意一个,则将 追加到result末尾。
- 若 不是
- 最后输出
result。
- 读入字符串 ,用一个空字符串
- 边界与细节:
- 输入全为元音字母的情况不会出现(题目保证至少有一个非元音字符),因此无需担心输出空串。
- 注意判断条件必须用
&&(逻辑与)连接五个不等比较,而非||(逻辑或),否则会误删所有字符。
⏱️ 复杂度分析
- 时间复杂度:,只需遍历字符串一次。
- 空间复杂度:,需要额外存储结果字符串。
💻 标准代码 (C++)
#include<bits/stdc++.h> using namespace std; int main() { string s; cin >> s; string result = ""; // 存放删除元音后的结果 for (char c : s) { // 只保留非元音字母:a, e, i, o, u 以外的字符 if (c != 'a' && c != 'e' && c != 'i' && c != 'o' && c != 'u') { result += c; } } cout << result << endl; return 0; }
- 1
信息
- ID
- 739
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- (无)
- 递交数
- 1
- 已通过
- 1
- 上传者