917. 仅仅反转字母

exiaohu 于 2022-02-23 发布

题目链接:917. 仅仅反转字母

模拟即可。

class Solution:
    def reverseOnlyLetters(self, s: str) -> str:
        l, r, s = -1, len(s), list(s)

        while l < r:
            while l + 1 < len(s) and not s[l + 1].isalpha():
                l += 1
            while r - 1 >= 0 and not s[r - 1].isalpha():
                r -= 1

            if 0 <= l + 1 < r - 1 < len(s):
                s[l + 1], s[r - 1] = s[r - 1], s[l + 1]

            l += 1
            r -= 1

        return ''.join(s)