Cho chuỗi chữ thường. Đảo ngược thứ tự các nguyên âm trong chuỗi. Ví dụ: "hello" → "holle", "programming" → "prigrammong".
Giải pháp
Các bước:
- Duyệt chuỗi, lưu các nguyên âm và chỉ số của chúng.
- Đảo ngược mảng nguyên âm.
- Xây dựng chuỗi mới: nếu vị trí là nguyên âm thì lấy từ mảng đã đảo, ngược lại giữ nguyên.
Ví dụ
Triển khai Python:
class Solution:
def reverseVowels(self, s):
chars = list(s)
index = []
vowels = []
for i in range(len(chars)):
if chars[i] in ['a','e','i','o','u']:
vowels.append(chars[i])
index.append(i)
vowels = vowels[::-1]
final = []
ind = 0
for i in range(len(chars)):
if i in index:
final.append(vowels[ind])
ind += 1
else:
final.append(chars[i])
str1 = ""
return str1.join(final)
ob1 = Solution()
print(ob1.reverseVowels("hello"))
print(ob1.reverseVowels("programming")) Đầu vào
"hello" "programming"
Đầu ra
holle prigrammong