917.仅仅反转字母
仅仅反转字母
给你一个字符串 s 。根据下述规则反转字符串:
- 所有非英文字母保留在原有位置。
- 所有英文字母(小写或大写)位置反转。
返回反转后的字符串。
示例 1:
输入:s = “ab-cd”
输出:”dc-ba”
示例 2:
输入:s = “a-bC-dEf-ghIj”
输出:”j-Ih-gfE-dCba”
示例 3:
输入:s = “Test1ng-Leet=code-Q!”
输出:”Qedo1ct-eeLg=ntse-T!”
提示:
- 1 <= s.length <= 100
- s 仅由 ASCII 值在范围 [33, 122] 的字符组成
- s 不含 ‘"‘ 或 ‘\‘
解析
使用双指针,从两端向中间遍历,遇到字母就交换。
1 | var reverseOnlyLetters = function (s) { |
时间复杂度 O(n),空间复杂度 O(n)。
917.仅仅反转字母
https://leetcode.lz5z.com/917.reverse-only-letters/