In [1]:
class Solution:
    def reverseVowels(self, s: str) -> str:
        s_list = list(s)
        vowels = set('aeiouAEIOU')
        left, right = 0, len(s_list) - 1
        while left < right:
            if s_list[left] not in vowels:
                left += 1
                continue
            if s_list[right] not in vowels:
                right -= 1
                continue
            s_list[left], s_list[right] = s_list[right], s_list[left]
            left += 1
            right -= 1
        return "".join(s_list)
In [2]:
sol = Solution()
print("Output is :- ",sol.reverseVowels("IceCreAm"))
print("Output is :- ",sol.reverseVowels("leetcode"))
Output is :-  AceCreIm
Output is :-  leotcede