LeetCode題解(0345):反轉字符串中的元音字母(Python)

題目:原題鏈接(簡單)

題目0344的延伸。

解法 時間複雜度 空間複雜度 執行用時
Ans 1 (Python) O(n) O(1) 68ms (64.58%)

LeetCode的Python執行用時隨緣,只要時間複雜度沒有明顯差異,執行用時一般都在同一個量級,僅作參考意義。

解法一(雙指針實現):

def reverseVowels(self, s: str) -> str:
    s = list(s)
    vowels = ["a", "e", "i", "o", "u", "A", "E", "I", "O", "U"]
    i = 0
    j = len(s) - 1
    while i < j:
        while s[i] not in vowels and i < j:
            i += 1
        while s[j] not in vowels and i < j:
            j -= 1
        s[i], s[j] = s[j], s[i]
        i += 1
        j -= 1
    return "".join(s)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章