題目:原題鏈接(簡單)
題目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)