LeetCode-Python-345. 文字列の母音文字を反転
文字列を入力として関数を作成し、文字列のアクセント文字を反転します.
例1:
例2:
説明:アクセントアルファベットにはアルファベット「y」は含まれていません.
考え方:
両指針法は、左右の2つの母音アルファベットを指し、交換すればよい.
この問題は、文字列に要素を個別に割り当てることはできません.文字列をlistに変換し、最後に戻るとlistを文字列に変換する必要があります.
例1:
: "hello"
: "holle"
例2:
: "leetcode"
: "leotcede"
説明:アクセントアルファベットにはアルファベット「y」は含まれていません.
考え方:
両指針法は、左右の2つの母音アルファベットを指し、交換すればよい.
この問題は、文字列に要素を個別に割り当てることはできません.文字列をlistに変換し、最後に戻るとlistを文字列に変換する必要があります.
class Solution(object):
def reverseVowels(self, s):
"""
:type s: str
:rtype: str
"""
l = len(s)
s = [char for char in s]
vowel = ["a", "e", "i", "o", "u", "A", "E", "I", "O", "U"]
left = 0
right = l - 1
while(left < right):
while(left <= l -1 and s[left] not in vowel):
left += 1
while(right >= 0 and s[right] not in vowel):
right -= 1
if left < right and s[left] != s[right]:
s[left], s[right] = s[right], s[left]
left += 1
right -= 1
return "".join(s)