题目:将 “student. a am I”转换为”I am a student”
class Solution {
public:
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)
return;
while(begin<end)
{
char tmp=str[begin];
str[begin]=str[end];
str[end]=tmp;
begin++;
end--;
}
}
};