题解 | #句子逆序#
句子逆序
https://www.nowcoder.com/practice/48b3cb4e3c694d9da5526e6255bb73c3
#include <iostream> #include <vector> using namespace std; int main() { string string1; getline(cin,string1); vector<string> vector_str1; string string2 = ""; for(int i=0;i<string1.size();i++) { if(string1[i]!=' ') string2 += string1[i]; else if(string1[i]==' ') { vector_str1.push_back(string2); string2 = ""; } if(i == (string1.size() -1) ) vector_str1.push_back(string2); } for(vector<string>::iterator it = vector_str1.end() - 1;it!=vector_str1.begin() -1 ;it--) cout<<*it<<" "; } // 64 位输出请用 printf("%lld")
使用getline将带空格的字符串读入,之后对其进行处理,非空格字符加入字符串变量2,在遇上空格时,将字符串变量2放入vecotr中,最后一个单词后没有空格,需要额外判断。之后将vecotr逆序输出即可。