LeetCode 筆記 - 344. Reverse String

LeetCode 基礎反轉字串題。雖然 Python 具備多種簡潔的反轉寫法,本文特別採用雙指針(Two Pointers)大法進行實作,透過頭尾對調的方式達成原地修改。這是一篇適合初學者掌握指針移動與基本字串操作的技術筆記。

發佈
閱讀
約 1 分鐘
字數
202
⚠️ 舊文提醒:本文發佈於約 4 年前,部分內容或指令可能已過時,請斟酌參考。

題目在此 344. Reverse String

反轉字串

解題思維

這題也是 Two Pointers 大法的一種應用

這題我先使用 reversed index 的方法做出來
但看到課程標題是 Two Pointers,所以我就還是寫了一個 Two Pointers 的版本
(燦爛笑

程式碼

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Solution:
def reverseString(self, s: List[str]) -> None:
"""
Do not return anything, modify s in-place instead.
"""
# reversed index
# s[:] = [s[i] for i in reversed(range(len(s)))]

# two pointers
left, right = 0, len(s) - 1
while left < right:
s[left], s[right] = s[right], s[left]

left += 1
right -= 1

也許你也會想看看

輸入關鍵字開始搜尋 · ↑↓ 選擇 · Enter 開啟