题解 | #句子逆序#
句子逆序
http://www.nowcoder.com/practice/48b3cb4e3c694d9da5526e6255bb73c3
本题思路很明确,由于每一个单词内部的字母不需要被逆序,因此很简单。首先以空格为间隔符将各个单词存入一个容器中。然后用反向迭代器对这个容器进行遍历即可。
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main() {
string s;
getline(cin, s, '\n');
string temp;
vector<string> res;
for (int i = 0; i < s.size(); i++) {
if (s[i] != ' '){
temp = temp + s[i];
}
if(s[i] == ' ' || i == s.size() - 1) {
res.push_back(temp);
temp.clear();
}
}
for (vector<string>::reverse_iterator iter = res.rbegin(); iter != res.rend(); iter++) {
cout << *iter << " ";
}
return 0;
}