题目链接:https://leetcode-cn.com/problems/reverse-words-in-a-string/
题目如下:
erase的三个用法:
class Solution {
public:
string reverseWords(string s) {
s.erase(0,s.find_first_not_of(' '));
s.erase(s.find_last_not_of(' ')+1);
reverse(s.begin(),s.end());
for(int i=0,j=0;j<s.size();++j){
if(j==s.size()-1) reversestr(s,i,j);
if(s[j]==' '){
reversestr(s,i,j-1);
i=j+1;
while(s[i]==' ') s.erase(i,1);
}
}
return s;
}
void reversestr(string& s,int i,int j){
while(i<j){
swap(s[i],s[j]);
i++;j--;
}
}
};