zoukankan      html  css  js  c++  java
  • ZOJ 1151 Word Reversal

    原题链接

      题目大意:给一句话,把每个单词倒序,然后输出。
      解法:我是用了一个堆栈,以空格来拆分单词,把每个字母压入堆栈,然后依次输出。
      参考代码:
    /*
    *	字符串反向,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;
    }
  • 相关阅读:
    使用IOCP完成端口队列做任务队列
    对Zlib单元进行再封装
    XmlReader/XmlWriter 类
    TextReader/TextWriter 的类
    LINQ to XML
    Xml序列化
    动态Linq(结合反射)
    设计模式总结
    深入了解.Net上下文
    应用程序域
  • 原文地址:https://www.cnblogs.com/naive/p/3568798.html
Copyright © 2011-2022 走看看