题解 | #字符串变形#

字符串变形

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

2022.0805算法第5题字符串变形
需要按空格将字符串进行翻转,并切换大小写。
字符串操作有许多灵活的函数,包括迭代器的使用。
首先是将全部字符串及逆行大小写转换。
for(int i=0;i<n;i++)
{
    if(s[i]<='z'&&s[i]>='a')
        res+=s[i]-('a'-'A');
    else if (s[i]<='Z'&&s[i]>='A')
        res+=s[i]+'a'-'A';
    else
        res+=s[i];           
}
然后对整个字符串进行翻转
reverse(res.begin(), res.end());
最后根据空格对子字符串进行二次反转。
for(int i=0;i<n;i++)
{
    int j=i;
    while(j<n && res[j]!=' ')
        j++;
    reverse(res.begin()+i, res.begin()+j);
    i=j;
}
主要难点在于空格位置的获取,确定了空格的位置就能获取字符串。



#算法题#
全部评论

相关推荐

12-19 22:04
武汉大学 Java
点赞 评论 收藏
分享
我要娶个什么名:学长你电脑闹鬼了
点赞 评论 收藏
分享
昨天 20:44
武汉大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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