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;
}
主要难点在于空格位置的获取,确定了空格的位置就能获取字符串。