题解 | #字符串变形#

字符串变形

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

class Solution {
public:
    string trans(string s, int n) {
        //先将所有大写字母转化为小写,小写字母转换为大写
        for(int i = 0; i < n; i++)
        {
            if(s[i] == ' ') continue;
            if(s[i] >= 65 && s[i] < 97)//大写字母的ASCII码范围[65, 97)
            {
                s[i] = s[i] + 32;  //同一字母的ASCII码相差32
            }
            else
            {
                s[i] = s[i] - 32;
            }
        }
        //翻转整个字符串
        reverse(s.begin(), s.end());
        //翻转每个单词,以空格为界
        for(int i = 0; i < n; i++)
        {
            int j = i;
            while(j < n && s[j] != ' ')
                j++;
            reverse(s.begin() + i, s.begin() + j);
            i = j;
        }
        return s;
    }
};

全部评论

相关推荐

哇哇的菜鸡oc:他这不叫校招offer,而是实习offer
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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