สมมติว่าเรามีสตริงตัวพิมพ์เล็ก งานของเราคือย้อนกลับสระที่มีอยู่ในสตริง ดังนั้นหากสตริงคือ "สวัสดี" สตริงหลังการกลับตัวของสระจะเป็น "holle" สำหรับสตริง “programming” จะเป็น “primgrammong”
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- นำสตริงมาสร้างรายชื่อสระ และเก็บดัชนีไว้ด้วย
- ย้อนกลับรายการสระ
- ตั้งค่า idx :=0
- สำหรับ i :=0 ถึงความยาวของสตริงที่กำหนด – 1
- ถ้าฉันอยู่ในรายการดัชนี −
- ใส่สระ[i] ลงในสตริงสุดท้าย
- idx :=idx + 1
- มิฉะนั้นให้ใส่ string[i] ลงในสตริงสุดท้าย
- ถ้าฉันอยู่ในรายการดัชนี −
- ส่งคืนรายการเป็นสตริง
ตัวอย่าง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
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")) อินพุต
"hello" "programming"
ผลลัพธ์
holle prigrammong