void reverseWords(string &s)
{
string rs;
for (int i = s.length()-1; i >= 0; )
{
while (i >= 0 && s[i] == ' ') i--; //空格都要过滤
if (i < 0) break;
if (!rs.empty()) rs.push_back(' '); //不为空的时候,每个单词之间要push一个空格
string t;
while (i >= 0 && s[i] != ' ') t.push_back(s[i--]);
reverse(t.begin(), t.end());
rs.append(t); //把t接过来
}
s = rs;
}
void main()
{
string str;
str="the sky is blue ";
reverseWords(str);
cout<<str<<endl;
}
反转 字符串
最新推荐文章于 2022-03-04 16:17:12 发布