“student. a am I”-----》“I am a student.”
思路:反转字符串的思路
- 反转整个字符串
- 反转每个单词
class Solution {
void my_reverse(string &str,int left,int right)
{
if(left>=right)return ;
while(left<right)
{
swap(str[left++],str[right--]);
}
}
public:
string ReverseSentence(string str)
{
int n=str.size();
if(n==0)return "";
reverse(str.begin(),str.end());
int start=0,end=0;
int i=0;
while(i<n)
{
while(i<n&&str[i]==' ')
i++;
start=end=i;
while(i<n&&str[i]!=' ')
{
i++;
end++;
}
end-=1;
my_reverse(str,start,end);
}
return str;
}
};