给定一个字符串 S
,返回 “反转后的” 字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反转。
示例 1:
输入:"ab-cd" 输出:"dc-ba"
class Solution(object):
def reverseOnlyLetters(self, S):
"""
:type S: str
:rtype: str
"""
S=list(S)
i=0
j=len(S)-1
while i<j:
while i<j and not S[i].isalpha():
i+=1
while i<j and not S[j].isalpha():
j-=1
if i<j:
S[i],S[j]=S[j],S[i]
i+=1
j-=1
return "".join(S)
思路:这里用了最原始的字符串反向的方法。
知识点:
1)
描述
insert() 函数用于将指定对象插入列表的指定位置。
语法
insert()方法语法:
list.insert(index, obj)
2)
描述
Python isalpha() 方法检测字符串是否只由字母组成。
语法
isalpha()方法语法:
str.isalpha()
3)
a='adfghhh'
#a=list(a)
a[2],a[5]=a[5],a[2]
a
TypeError: 'str' object does not support item assignment