题解 | #单词倒排#
单词倒排
https://www.nowcoder.com/practice/81544a4989df4109b33c2d65037c5836
#include <algorithm> #include <iostream> #include <numeric> #include <string> #include "string" #include "vector" #include "cmath" using namespace std; int main() { string s; vector<string> v; getline(cin, s); // cout<<s<<endl; for (int i=0; i<s.size(); i++) { if (!((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z'))) { continue; } int endpos=i; while (((s[endpos]>='a'&&s[endpos]<='z')||(s[endpos]>='A'&&s[endpos]<='Z'))) { endpos++; } // cout<<s.substr(i,endpos-i)<<endl; v.push_back(s.substr(i,endpos-i)); i=endpos; } reverse(v.begin(), v.end()); for (auto x : v) { cout<<x<<" "; } } // 64 位输出请用 printf("%lld")