059 · Reverse Vowels of a String

algorithm
Published

July 16, 2026

Problem

给定一个字符串 s

请只反转字符串中的元音字母,并返回反转后的新字符串。

元音字母包括:

a, e, i, o, u

它们可以是小写,也可以是大写:

A, E, I, O, U

注意:只有元音字母的位置会互相交换。其他字符的位置保持不变。

例如:

s = "hello"

字符串中的元音是:

e, o

反转以后变成:

o, e

所以返回:

"holle"

Examples

示例 1

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

解释:eo 是元音,反转后得到 "holle"

示例 2

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

解释:原来的元音依次是 e, e, o, e,反转后变成 e, o, e, e

示例 3

Input:  s = "aA"
Output: "Aa"

解释:小写 a 和大写 A 都是元音,它们需要反转位置。

Constraints

  • \(1 \leq\) s.length \(\leq 3 * 10^5\)
  • s 由可打印的 ASCII 字符组成