代码实现:
1.stl
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<string> v;
string s;
while (cin >> s) v.push_back(s);
for (int i = v.size() - 1; i >= 0; i--)
{
cout << v[i];
if (i) cout << " ";
}
}
2.双指针:
#include <iostream>
using namespace std;
int main()
{
string s;
getline(cin, s);
bool f = false;
for (int i = s.size() - 1; i >= 0; i--)
{
if (s[i] == ' ') continue; // 开头、结尾或者单词之间有多个空格,让i指向非空格处
int j = i;
while (j >= 0 && s[j] != ' ') j--;
if (f) cout << " "; // 除第一个单词的输出以外,再输出单词,前面要跟空格
for (int k = j + 1; k <= i; k++) cout << s[k];
f = true;
i = j;
}
}