题解 | #翻转单词序列#

翻转单词序列

http://www.nowcoder.com/practice/3194a4f4cf814f63919d0790578d51f3

这个题比较简单,代码也很少。
方法1:字符串缓存
class Solution {
public:
    string ReverseSentence(string str) {
       string res;
       string tmp;
       for(int i=0;i<str.length();i++){
           char c = str[i];
           if(c != ' '){
               tmp = tmp + c;
           }else{
               res = ' ' + tmp + res;
               tmp = "";
           }
       }

       return tmp + res;
    }
};
方法2:使用栈缓存
string ReverseSentence(string str) {
       string res;
       stack<char> data;
       for(int i=0;i<str.length();i++){
           char c = str[i];
           if(c != ' '){
               data.push(c);
           }else{
               while(!data.empty()){
                   res = data.top() + res;
                   data.pop();
               }
                
               res = ' ' + res;
           }
       }
         
       while(!data.empty()){
           res = data.top() + res;
           data.pop();
       }
         
        return res;
    }




全部评论

相关推荐

09-17 10:53
四川大学 C++
牛客91242815...:会写标书没有任何卵用,鉴定为横向垃圾导师的受害者
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务