自己的代码
void reverseWords(string &s)
{
string tempArray;
int start = -1;
int end = -1;
int i = s.length() - 1;
while(i >= 0)
{
while( i>=0 &&s[i] == ' ') --i;
if(i < 0) break;
end = i;
start = i;
while( start >= 0 && s[start] != ' ')
{
--start;
}
start++;
if(!tempArray.empty())
tempArray.push_back(' ');
for(int t = start; t <= end; ++t )
{
tempArray.push_back(s[t]);
}
i = start - 1;
}
s = tempArray;
}
主要注意的地方
1.读入一行字符已回车键结束可以使用
string str;
getline(cin, str);
2.string 类中添加字符a使用str.push_back(a), 添加字符串a使用str.pop_back()
本文介绍了一个用于反转字符串中单词顺序的C++函数实现细节。通过双指针技巧,该函数能够有效地处理包含空格的字符串,并将各个单词的顺序进行反转。文章还提供了字符串输入和操作的相关示例。
507

被折叠的 条评论
为什么被折叠?



