本题源自leetcode 151
-----------------------------------------------------------
思路: 1 先反转整个句子
2 再反转每个单词
3 删除多余的空格
代码1:
string ReverseSentence(string str) {
int len=str.size();
if(len==0)
return str;
//先反转整个句子
reverse(str,0,len-1);
//再反转每个单词
int begin=0;
int end=0;
while(str[begin]!='\0'){
if(str[begin]==' '){
begin++;
end++;
}else if(str[end]==' '||str[end]=='\0'){
reverse(str,begin,--end);
begin=++end;
}else{
end++;
}
}
return str;
}
void reverse(string &str,int begin,int end){
if(str.size()==0)
r