LeetCode917 僅僅反轉字母

2021-09-23 01:36:21 字數 933 閱讀 5087

給定乙個字串 s,返回 「反轉後的」 字串,其中不是字母的字元都保留在原地,而所有字母的位置發生反轉。

示例 1:

輸入:「ab-cd」

輸出:「dc-ba」

示例 2:

輸入:「a-bc-def-ghij」

輸出:「j-ih-gfe-dcba」

示例 3:

輸入:「test1ng-leet=code-q!」

輸出:「qedo1ct-eelg=ntse-t!」

s.length <= 100

33 <= s[i].asciicode <= 122

s 中不包含 \ or "

class solution(object):

def reverseonlyletters(self, s):

""":type s: str

:rtype: str

"""# 利用左右指標

s = list(s)

left = 0

right = len(s)-1

while left# 如果左右指標處的元素都是字母,就交換,左指標右移,右指標左移

if s[left].isalpha() and s[right].isalpha():

s[left],s[right] = s[right],s[left]

left+=1

right-=1

# 否則(即至少有乙個不是字母)

else:

# 如果左指標處不是字母,指標右移

if not s[left].isalpha():

left+=1

# 如果右指標處不是字母,指標左移

if not s[right].isalpha():

right-=1

return ''.join(s)

LeetCode 917 僅僅反轉字母

給定乙個字串s,返回 反轉後的 字串,其中不是字母的字元都保留在原地,而所有字母的位置發生反轉。示例 1 輸入 ab cd 輸出 dc ba 示例 2 輸入 a bc def ghij 輸出 j ih gfe dcba 示例 3 輸入 test1ng leet code q 輸出 qedo1ct e...

leetcode 917 僅僅反轉字母

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