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


京公网安备 11010502036488号