class Solution {
public:
string reverseWords(string s) {
reverse(s.begin(),s.end());
int n=s.size();
int idx=0;
for(int start=0;start<n;++start){
if(s[start]!=' '){
//填空白字符到单词的开头位置
if(idx!=0) s[idx++]=' ';
//把整个单词,放入idx之后
int end=start;
while(end<n && s[end]!=' ') s[idx++]=s[end++];
//反转整个单词
reverse(s.begin()+idx-(end-start),s.begin()+idx);
start=end;
}
}
s.erase(s.begin()+idx,s.end());
return s;
}
};