难度:★☆☆☆☆
类型:字符串
给定一个字符串 S,返回 “反转后的” 字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反转。
提示
S.length <= 100
33 <= S[i].ASCIIcode <= 122
S 中不包含 \ or "
示例 1
输入:"ab-cd"
输出:"dc-ba"
示例 2
输入:"a-bC-dEf-ghIj"
输出:"j-Ih-gfE-dCba"
示例 3
输入:"Test1ng-Leet=code-Q!"
输出:"Qedo1ct-eeLg=ntse-T!"
我们使用字典记录每个字符所在的位置,然后找出所有字母字符的位置并组成列表,将该列表逆序更新原字典,相当于只在有字母的位置上做字符串逆序,使用更新后的字典构建字母逆序的字符串。
我们定义左右指针,并初始化为字符串两端字符所在位置,然后两个指针逐渐向中间靠拢,当两个指针同时找到字母时,交换两指针处的字符,如果只有一个指针处是字母,那么另一个指针要继续移动,直到找到字母。循环控制条件是左指针不能到右指针右边。
如有疑问或建议,欢迎评论区留言~
苹果电脑双系统切换:在电脑开机或重启时,按着“option”键不松手。(详细请看下图)进入引导界面,有“Macintosh HD”和“windows”两个选项,进入Mac系统,用方向键选中“Macintosh HD”,回车即可进入。(详细请看下图)去掉字符串中字母以外的字符,在Python编程语言中有多种实现方式。 Python中的str类型,有一个isalpha()方法,判断字符是否是英文字符。可以使用循环逐个字符判断是否是英文字符,如果是英文字符则加入新的字符串。