(三)剑指offer 43翻转单词顺序列
程序员文章站
2024-03-05 15:39:31
...
“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;
}
};
上一篇: WEB开发中的提示
下一篇: Java如何将字符串反转