class Solution {
public:
string reverseOnlyLetters(string s) {
}
};
917. 仅仅反转字母
给你一个字符串 s
,根据下述规则反转字符串:
返回反转后的 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
不含 '\"'
或 '\\'
原站题解
golang 解法, 执行用时: 0 ms, 内存消耗: 2 MB, 提交时间: 2021-06-24 10:57:52
func reverseOnlyLetters(s string) string { var t []byte for _, c := range s { if unicode.IsLetter(c) { t = append(t, byte(c)) } } index := len(t) - 1 var b strings.Builder for i, c := range s { if unicode.IsLetter(c) { b.WriteByte(t[index]) index-- } else { b.WriteByte(s[i]) } } return b.String() }