思路:
原地右旋的话。直接反转三次。
注意用库函数reverse就用迭代器反转。左闭右开就直接加长度。
前一段右开的结束就是后一段左闭的开始。因为是右开,左闭。自动空了一个
如果是自写的reverse,就左闭右闭塞得满满的。就自己+1作为第二段的开始。
储备:
问题重点:
最后:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int k;
string s;
cin>>k>>s;
//用库函数reverse就用迭代器反转
reverse(s.begin(),s.end());//整个都反转
cout<<s<<endl;
reverse(s.begin(),s.begin()+k);//左闭右开。结尾为 开头+长度
cout<<s<<endl;
reverse(s.begin()+k,s.end());
cout<<s<<endl;
return 0;
}


被折叠的 条评论
为什么被折叠?



