题解 | #字符串变形#

字符串变形

https://www.nowcoder.com/practice/c3120c1c1bc44ad986259c0cf0f0b80e

class Solution {
  public:
    string trans(string s, int n) {
        if (n == 0) return s;
        string str;
        for (auto ch : s) {
            if (ch <= 'Z' && ch >= 'A')
                str += ch - 'A' + 'a';
            else if (ch <= 'z' && ch >= 'a')
                str += ch - 'a' + 'A';
            else
                str += ch;
        }
        //整体反转
        reverse(str.begin(), str.end());

        //以空格为界,再反转
        //小小的利用一下双指针
        for (int i = 0; i < n; i++) {
            int j = i;
            //以空格为界,二次翻转
            while (j < n && str[j] != ' ')
                j++;
            reverse(str.begin() + i, str.begin() + j);
            i = j;
        }
        return str;
    }
};

全部评论

相关推荐

2025-11-26 09:37
山西大学 测试工程师
我要娶个什么名:学长你电脑闹鬼了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务