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