一. 題目
題目給定乙個字串 s,返回 「反轉後的」 字串,其中不是字母的字元都保留在原地,而所有字母的位置發生反轉。
示例
二. 方法一
解題思路
將字串轉成列表
從兩端開始遍歷,
如果當前位置不是字母就跳過,
如果當前位置i是字母就交換元素
將轉換後的列表再轉成字串
解題**
def
reverseonlyletters
(self, s:
str)
->
str:
list1 =
list
(s) left =
0 right =
len(list1)-1
while left < right:
while
not list1[left]
.isalpha(
)and left < right:
left +=
1while
not list1[right]
.isalpha(
)and left < right:
right -=
1 temp = list1[right]
list1[right]
= list1[left]
list1[left]
= temp
left +=
1 right -=
1return
"".join(list1)
分析
時間複雜度: o(n)
空間複雜度: o(n)
917 僅僅反轉字母 LeetCode
給定乙個字串s,返回 反轉後的 字串,其中不是字母的字元都保留在原地,而所有字母的位置發生反轉。示例 1 輸入 ab cd 輸出 dc ba 示例 2 輸入 a bc def ghij 輸出 j ih gfe dcba 示例 3 輸入 test1ng leet code q 輸出 qedo1ct e...
LeetCode917 僅僅反轉字母
給定乙個字串 s,返回 反轉後的 字串,其中不是字母的字元都保留在原地,而所有字母的位置發生反轉。示例 1 輸入 ab cd 輸出 dc ba 示例 2 輸入 a bc def ghij 輸出 j ih gfe dcba 示例 3 輸入 test1ng leet code q 輸出 qedo1ct ...
LeetCode 917 僅僅反轉字母
給定乙個字串s,返回 反轉後的 字串,其中不是字母的字元都保留在原地,而所有字母的位置發生反轉。示例 1 輸入 ab cd 輸出 dc ba 示例 2 輸入 a bc def ghij 輸出 j ih gfe dcba 示例 3 輸入 test1ng leet code q 輸出 qedo1ct e...