Leetcode - 557. Reverse Words in a String III (C++) stringstream

1. 题目:https://leetcode.com/problems/reverse-words-in-a-string-iii/discuss/

反转字符串中的所有单词。

2. 思路:

这题主要是要注意空格的影响。比方说,string首尾和单词之间可能有一或多个空格。看到有人逐个对空格判断,但是我觉得逐个判断其实稍微容易出错(当然如果非常熟悉的话就完全无所谓啦),我的一个简单想法是用stringstream

PS:不熟悉stringstream的朋友可以看看链接的文档。

3. 代码

class Solution {
public:
    string reverseWords(string s) {
        stringstream ss;
        ss << s;
        string v, n;
        while(ss >> n){
            reverse(n.begin(),n.end());
            v.append(n+' ');
        }
        v.pop_back();
        return v;
    }
};

  

posted @ 2017-08-27 02:51  rgvb178  阅读(713)  评论(0编辑  收藏  举报