题解 | #句子逆序#
句子逆序
http://www.nowcoder.com/practice/48b3cb4e3c694d9da5526e6255bb73c3
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <stack>
using namespace std;
int main(){
string str;
getline(cin,str);
stack <char> myStack;
int k=0;
for(int i=str.size()-1;i>=0;i--){
if(str[i]!=' ')
myStack.push(str[i]);
else{
while(!myStack.empty()){
cout<<myStack.top();
myStack.pop();
}
cout<<" ";
}
}
while(!myStack.empty()){
cout<<myStack.top();
myStack.pop();
}
}
思路就是用一个栈来存储信息,一遇到空格就立刻弹出所有的字母,
然后在扫描完所有的单词后一定注意要清空栈。