Перестановка гласных в строке [перенесено]Python

Программы на Python
Anonymous
Перестановка гласных в строке [перенесено]

Сообщение Anonymous »

Дана строка s, перевернуть только все гласные в строке и вернуть ее.
Гласные: «a», «e», «i», «o», и «u», и они могут появляться как в нижнем, так и в верхнем регистре более одного раза.
Мой код меняет местами гласные в строке; однако, если задана большая строка, происходит сбой из-за «Превышен лимит времени». Как я могу сделать это более эффективным, чтобы он мог обрабатывать большие входные данные?
def reverseVowels(self, s: str) -> str:
v = []
vowels = ['a', 'e', 'i', 'o', 'u']

for c in s:
if c.lower() in vowels:
v.append(c)

v.reverse()
s = list(s)
j = 0

for i in range(len(s)):
if s in v:
s = v[j]
j += 1
s = "".join(s)

return s

Пример:
Input: s = "hello"
Output: "holle"


Подробнее здесь: https://stackoverflow.com/questions/787 ... n-a-string

Вернуться в «Python»