一、题意
二、思考过程
思路:
- 先反转整个字符串
- 再反转每个单词
- 移除多余空格
class Solution { public: string reverseWords(string s){ reverse(s.begin(),s.end()); //" hello world " //" dlrow olleh" int cur=0,left=0,right=0,size=s.size(); while(cur<size) { while(cur<size && s[cur]==' ') cur++; if(cur==size) break; if(cur<size&&right>0) s[right++]=' ';//w那里加了空格 left=right; while(cur<size&&s[cur]!=' ') s[right++]=s[cur++];//往前移去掉了 //空格,cur到了第一个空格 reverse(s.begin()+left,s.begin()+right); //"worldw olleh" //"world w olleh" cur在空格这里 //"world helloeh" } return s.substr(0,right);//返回字符串 } };