列表

详情


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!"

 

提示

原站题解

去查看

上次编辑到这里,代码来自缓存 点击恢复默认模板
class Solution { public: string reverseOnlyLetters(string 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()
}

上一题