一、题目
二、代码
#include <iostream>
#include<string>
using namespace std;
int main() {
string s;
getline(cin, s);
string s2;
int i = s.length() - 1;
int prev = i;
int next = 0;
while (i >= 0 && prev >= 0) { //从字符串的最后往前遍历
if (s[prev] != ' ') {
next = prev;
--prev;
} else {
s2 += s.substr(next, i - next + 1);
s2 += ' ';
i = prev - 1;
prev = i;
next = i;
};
}
s2 += s.substr(next, i - next + 1); //注意跳出循环后的第一个子串
cout << s2;
return 0;
}
// 64 位输出请用 printf("%lld")