记录下不是letter的字符的位置,设置空字符,从s的尾巴往前遍历字母,并增加空字符的长度,当长度数值在s中为符号时,贴符号,不是则继续反序遍历s,贴字母。
class Solution:
def reverseOnlyLetters(self, s: str) -> str:
dic = collections.defaultdict()
let = []
for idx, char in enumerate(s):
dic[idx] = char
if char.isalpha():
let = [char] + let
res = ''
j = 0
for i in range(len(s)):
if not dic[i].isalpha():
res += dic[i]
else:
res += let[j]
j += 1
return res