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)
相关文章
|
6月前
leetcode-917:仅仅反转字母
leetcode-917:仅仅反转字母
41 0
|
索引
【LeetCode】917. 仅仅反转字母、387. 字符串中的第一个唯一字符
目录 917. 仅仅反转字母 387. 字符串中的第一个唯一字符
45 0
|
算法
有效的字母异位词
有效的字母异位词
43 0
|
6月前
345.反转字符串中的元音字母
345.反转字符串中的元音字母
27 0
|
6月前
leetcode-2000:反转单词前缀
leetcode-2000:反转单词前缀
43 0
leetcode-2000:反转单词前缀
|
6月前
|
C++
有效的字母异位词(C++)
有效的字母异位词(C++)
34 0
Leecode 345 翻转字符串中的元音字母-双指针法
做算法的步骤: 写思路,标注步骤 先实现大头 考虑细节(越界问题、个例) 题目
有效的字母异位数
有效的字母异位数
101 0
LeetCode 5867. 反转单词前缀
给你一个下标从 0 开始的字符串 word 和一个字符 ch 。找出 ch 第一次出现的下标 i ,反转 word 中从下标 0 开始、直到下标 i 结束(含下标 i )的那段字符。
81 0
|
算法 索引
字符串中的第一个唯一字符&&有效的字母异位词(多思路)
字符串中的第一个唯一字符&&有效的字母异位词(多思路)
122 0
字符串中的第一个唯一字符&&有效的字母异位词(多思路)