917. 仅仅反转字母

简介: 917. 仅仅反转字母

题:给你一个字符串,只反转其中的字母。其它的保持不变。

解:双指针反转字母。


class Solution:
    def reverseOnlyLetters(self, s: str) -> str:
        arrs = list(s)
        n = len(s)
        left, right = 0, n-1
        while left< right:
            while left <n and not s[left].isalpha():
                left += 1
            while right>0 and not s[right].isalpha():
                right -= 1
            if left<right:
                arrs[left], arrs[right] = arrs[right], arrs[left]
            left += 1
            right -= 1
        
        return "".join(arrs)
相关文章
|
8月前
leetcode-917:仅仅反转字母
leetcode-917:仅仅反转字母
51 0
|
索引
【LeetCode】917. 仅仅反转字母、387. 字符串中的第一个唯一字符
目录 917. 仅仅反转字母 387. 字符串中的第一个唯一字符
57 0
|
3月前
判断输入的字母是元音,还是辅音
【10月更文挑战第15天】判断输入的字母是元音,还是辅音。
44 5
|
8月前
leetcode-2000:反转单词前缀
leetcode-2000:反转单词前缀
54 0
leetcode-2000:反转单词前缀
|
8月前
|
Java API C++
leetcode-151:翻转字符串里的单词
leetcode-151:翻转字符串里的单词
69 0
Leecode 345 翻转字符串中的元音字母-双指针法
做算法的步骤: 写思路,标注步骤 先实现大头 考虑细节(越界问题、个例) 题目
一日一技:用二进制翻转26个字母的大小写
一日一技:用二进制翻转26个字母的大小写
387 0
LeetCode 5867. 反转单词前缀
给你一个下标从 0 开始的字符串 word 和一个字符 ch 。找出 ch 第一次出现的下标 i ,反转 word 中从下标 0 开始、直到下标 i 结束(含下标 i )的那段字符。
89 0
|
算法 Java
翻转字符串里的单词 (LeetCode 151)
翻转字符串里的单词 (LeetCode 151)
162 0
C/C++编程题之数字颠倒
C/C++编程题之数字颠倒