Skip to content

953. Reverse Only Letters

Two Pointers String

Problem - Reverse Only Letters

Easy

Given a string s, reverse the string according to the following rules:

  • All the characters that are not English letters remain in the same position.
  • All the English letters (lowercase or uppercase) should be reversed.

Return s after reversing it.

 

Example 1:

Input: s = "ab-cd"
Output: "dc-ba"

Example 2:

Input: s = "a-bC-dEf-ghIj"
Output: "j-Ih-gfE-dCba"

Example 3:

Input: s = "Test1ng-Leet=code-Q!"
Output: "Qedo1ct-eeLg=ntse-T!"

 

Constraints:

  • 1 <= s.length <= 100
  • s consists of characters with ASCII values in the range [33, 122].
  • s does not contain '\"' or '\\'.

Solutions

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
class Solution:
    def reverseOnlyLetters(self, s: str) -> str:
        letters = [char for char in s if char.isalpha()]
        result = []
        for char in s:
            if char.isalpha():
                result.append(letters.pop())
            else:
                result.append(char)
        return "".join(result)

Submission Stats:

  • Runtime: 0 ms (100.00%)
  • Memory: 17.9 MB (31.13%)