Reverse Vowels of a String

theabbie

Abhishek Chaudhary

Posted on June 4, 2022

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
💖 💪 🙅 🚩
theabbie
Abhishek Chaudhary

Posted on June 4, 2022

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related

Balance a Binary Search Tree
leetcode Balance a Binary Search Tree

June 19, 2022

Implement Stack using Queues
leetcode Implement Stack using Queues

June 16, 2022

Sum of Digits in Base K
leetcode Sum of Digits in Base K

June 16, 2022

Permutation Sequence
leetcode Permutation Sequence

June 16, 2022