OR62-倒置字符串
先翻转整个字符串
再双指针逐个翻转每个单词
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int main(){
string str;
getline(cin,str);
//先翻转整个字符串
reverse(str.begin(),str.end());
//再使用双指针翻转每个单词
//单词之间以空格间隔
//双指针逐个翻转单词
//left right
auto left=str.begin();
while(left!=str.end()){
auto right=left;
//空格是字符使用''
//*right-right需要解引用
while(right!=str.end()&&*right!=' '){
right++;
}
//不管是情况1还是情况2都需要reverse,所以把reverse放在if/else外面
reverse(left,right);
if(right!=str.end()){
left=right+1;
}else{
left=right;
}
}
cout<<str<<endl;
return 0;
}