右旋转字符串
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream>
#include<algorithm>
using namespace std;
int main() {
int n;
string s;
cin >> n;
cin >> s;
int len = s.size(); //获取长度

reverse(s.begin(), s.end()); // 整体反转
reverse(s.begin(), s.begin() + n); // 先反转前一段,长度n
reverse(s.begin() + n, s.end()); // 再反转后一段

cout << s << endl;

}

使用整体反转+局部反转就可以实现反转单词顺序的目的,如下图:

4ffc66ec3cab6bb0c713809e010ce8c7.png