給你一個字符串 s
,僅反轉字符串中的所有元音字母,並返回結果字符串。
元音字母包括 'a'
、'e'
、'i'
、'o'
、'u'
,且可能以大小寫兩種形式出現。
例:
輸入:s = "hello" 輸出:"holle"
解析:
字符串中只有元音字母受到條件約束,所以我們只需要將元音字母進行存儲,然後將字符串的元音字母進行反向替換即可,滿足先進後出這個條件的首先想到的就是棧了。
class Solution(object):
def reverseVowels(self, s):
"""
:type s: str
:rtype: str
"""
stack = [] # 創建棧
for i in s: # 對元音字母進行存儲
if i in 'aeiouAEIOU':
stack.append(i)
res = '' #結果字符串
for j in s:
if j not in 'aeiouAEIOU': # 不是元音字母直接復制
res += j
else:
res += stack.pop() # 是元音字母則反向替換
return res
全文鏈接:http://tecdat.cn/?p=28031