双循环解法
将字符串放入字符数组中,遍历,当字符为‘ ’时,从前一个字符开始填入新的字符串s1,用t记录此时右边界,下一次t作为左边界,最后一个单词单独判断,最后输出。
class Solution {
public:
string reverseWords(string s) {
int len=s.length();
char arr[len+1];
strcpy(arr,s.data());
string s1;
int t=-1;
for(int i=0;i<len;i++)
{
if(arr[i]==' ')
{
for(int j=i-1;j>t;j--)
{
s1.push_back(arr[j]);
}
t=i;
s1.push_back(' ');
}
if(i==len-1)
{
for(int j=i;j>t;j--)
{
s1.push_back(arr[j]);
}
}
}
// int d=0;
// while(arr[d]!='\0')
// {
// cout<<arr[d];
// d++;
// }
return s1;
}
};
作者:kutu1bw-i
链接:https://leetcode.cn/problems/reverse-words-in-a-string-iii/solution/shuang-xun-huan-jie-fa-by-kutu1bw-i-g91n/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。