/* * 字符串反向,140ms,188kb * 单词反向用堆栈是比较方便的,一个个压入,遇到空格再一个个弹出 * 但是不知道为什么耗时这么多,大批的人都是0ms,160kb,难道用字符串处理效率高这么多? */ #include<iostream> #include<string> #include<stack> #include<cstdio> using namespace std; int main(){ int i,j,n,cases; string str; char *p,c[80]; stack<char> word; cin>>cases; while(cases--){ cin>>n; getline(cin,str); while(n--){ getline(cin,str); for(i=0;i<str.size();i++){ if(str[i]!=‘ ‘){ word.push(str[i]); } else{ while(!word.empty()){ cout<<word.top(); word.pop(); } cout<<‘ ‘; } } while(!word.empty()){ cout<<word.top(); word.pop(); } cout<<endl; } if(cases) cout<<endl; } return 0; }
ZOJ 1151 Word Reversal,布布扣,bubuko.com
原文:http://www.cnblogs.com/naive/p/3568798.html