📜  门|门 IT 2006 |第 57 题(1)

📅  最后修改于: 2023-12-03 15:28:48.258000             🧑  作者: Mango

门|门 IT 2006 | 第 57 题

题目描述

给定一个字符串 s,将其中的元音字母(即 a、e、i、o、u)全部替换成大写字母,辅音字母(即除了元音字母以外的字母)全部替换成小写字母。输出替换后的字符串。

输入格式

一个字符串 s,只包含大小写字母。

输出格式

一个字符串,表示替换后的结果。

样例输入
hello world
样例输出
hEllO wOrld
解题思路

该题要求将字符串中的元音字母替换成大写字母,辅音字母替换成小写字母。

可以使用 Python 的字符串操作进行处理,具体步骤如下:

  1. 定义一个变量 vStr 存储元音字母,它的值为 'AEIOUaeiou'
  2. 遍历字符串 s 中的每一个字符,如果字符是元音字母,则将其变成大写字母,否则变成小写字母
  3. 返回处理后的字符串
参考代码
def replace_vowels(s: str) -> str:
    vStr = 'AEIOUaeiou'
    res = ''
    for c in s:
        if c in vStr:
            res += c.upper()
        else:
            res += c.lower()
    return res
时间复杂度

该算法的时间复杂度为 $O(n)$,其中 n 是字符串 s 的长度。因为要遍历整个字符串 s,对于每个字符都要进行一次判断和转换,所以时间复杂度为 $O(n)$。

空间复杂度

该算法的空间复杂度为 $O(n)$,其中 n 是字符串 s 的长度。因为要创建一个新的字符串 res 存储处理后的结果,所以空间复杂度为 $O(n)$。