中等
给你一个由小写英文字母组成的字符串 s。
仅重新排列字符串中的 元音字母,使它们按照出现频率的 非递增 顺序排列。
如果多个元音字母的 出现频率 相同,则按照它们在 s 中 首次出现 的位置排序。
返回修改后的字符串。
元音字母为 'a'、'e'、'i'、'o' 和 'u'。
字母的 出现频率 是指它在字符串中出现的次数。
示例 1:
输入: s = "leetcode"
输出: "leetcedo"
解释:
- 字符串中的元音字母为
['e', 'e', 'o', 'e'],其出现频率为:e = 3,o = 1。 - 按出现频率非递增排序后,再放回原来的元音位置,得到
"leetcedo"。
示例 2:
输入: s = "aeiaaioooa"
输出: "aaaaoooiie"
解释:
- 字符串中的元音字母为
['a', 'e', 'i', 'a', 'a', 'i', 'o', 'o', 'o', 'a'],其出现频率为:a = 4,o = 3,i = 2,e = 1。 - 按出现频率非递增排序后,再放回原来的元音位置,得到
"aaaaoooiie"。
示例 3:
输入: s = "baeiou"
输出: "baeiou"
解释:
- 每个元音字母都恰好出现一次,因此它们的出现频率相同。
- 所以它们会按照首次出现的位置保持相对顺序,字符串保持不变。
提示:
1 <= s.length <= 105s由小写英文字母组成