LeetCode0917 僅僅反轉字母

2021-10-07 10:22:13 字數 938 閱讀 5784

一. 題目

題目給定乙個字串 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...