สมมติว่าเรามีสตริงตัวพิมพ์เล็ก งานของเราคือย้อนกลับสระที่มีอยู่ในสตริง ดังนั้นหากสตริงคือ "สวัสดี" สตริงหลังการกลับตัวของสระจะเป็น "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