LeetCode4

来源:互联网 发布:linux 模块查看 编辑:程序博客网 时间:2024/06/16 04:14

Reverse Words in a String III

题目

Given a string, you need to reverse the order of characters in each word within a sentence while still preserving whitespace and initial word order.

#例子

Example 1:

Input: "Let's take LeetCode contest"Output: "s'teL ekat edoCteeL tsetnoc"
提示

Note: In the string, each word is separated by single space and there will not be any extra space in the string.

代码
    string reverseWords(string s) {        auto temp=s.begin();        for(auto iter=s.begin();iter!=s.end();iter++)        {            if(*iter==' ')            {                reverse(temp,iter);                temp=iter+1;            }        }        reverse(temp,s.end());        cout<<s;        return s;    }
    string reverseWords(string s) {        stack<char> str{};        string out;        auto sitr = s.begin();        while (sitr != s.end()) {            if (*sitr != ' ') {                str.push(*sitr);            } else {                while (!str.empty()) {                    out += str.top();                    str.pop();                }                out += ' ';            }            sitr++;        }        while (!str.empty()) {            out += str.top();            str.pop();        }        cout << out << endl;        return out;    }
原创粉丝点击