DEV Community

Abhishek Chaudhary
Abhishek Chaudhary

Posted on

Reverse Vowels of a String

Given a string s, reverse only all the vowels in the string and return it.

The vowels are 'a', 'e', 'i', 'o', and 'u', and they can appear in both cases.

Example 1:

Input: s = "hello"
Output: "holle"

Example 2:

Input: s = "leetcode"
Output: "leotcede"

Constraints:

  • 1 <= s.length <= 3 * 105
  • s consist of printable ASCII characters.

SOLUTION:

class Solution:
    def reverseVowels(self, s: str) -> str:
        n = len(s)
        vows = {'a',  'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'}
        stack = []
        s = [c for c in s]
        for i in range(n):
            if s[i] in vows:
                stack.append(s[i])
                s[i] = -1
        for i in range(n):
            if s[i] == -1:
                s[i] = stack.pop()
        return "".join(s)
Enter fullscreen mode Exit fullscreen mode

Top comments (0)