917. 仅仅反转字母

2019-05-13  本文已影响0人  好吃红薯

给定一个字符串 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:
    def reverseOnlyLetters(self, S: str) -> str:
        # .isalpha()
        
        a = []    #记录字母
        b={}      #记录非字母的位置以及符号
        
        for i,c in enumerate(S):
            if c.isalpha():
                a.append(c)
            else:
                b[i] = c
                
        a.reverse()
        for i,c in b.items():
            a.insert(i,c)
            
        return ''.join(a)
            
上一篇下一篇

猜你喜欢

热点阅读