557. Reverse Words in a String III

来源:互联网 发布:信用卡账单修改软件 编辑:程序博客网 时间:2024/05/29 17:04

题目的要求是反转字符串,以空格为间隔,将每一个单词反转,然后返回结果。

我的思路是,利用vector实现栈,以空格为标记,遍历每个字符,如果不是空格,则入栈,如果是空格,说明该单词已结束,出栈,实现反转。

完整的代码如下:

class Solution {public:    string reverseWords(string s) {        vector<char> word;        string reverse = "";        for (int i = 0; i < s.size(); i++) {            if (s[i] != ' ') {                word.push_back(s[i]);            } else {                while (!word.empty()) {                    reverse += word.back();                    word.pop_back();                }                reverse += ' ';            }        }        while (!word.empty()) {            reverse += word.back();            word.pop_back();        }        return reverse;    }};


原创粉丝点击