Reverse Words in a String III

题目链接

传送门

题目大意

给定一个字符串,求将字符串中每个单词翻转后的新字符串,要求保证每个单词的顺序不变,相邻两个单词间以空格分隔。

解题思路

用变量tmp存储当前单词,ret存储结果字符串。特判下第一个字符串的格式即可。

参考代码

class Solution {
public:
    string reverseWords(string s) {
        int length = s.length();
        string tmp = "";
        string ret = "";
        for (int index = 0; index < length; index ++) {
            if (' ' == s[index]) {
                reverse(tmp.begin(), tmp.end());
                if ("" == ret) {
                    ret += tmp;
                } else {
                    ret += " " + tmp;
                }
                tmp = "";
            } else {
                tmp += s[index];
            }
        }

        if ("" != tmp) {
            reverse(tmp.begin(), tmp.end());
            if ("" == ret) {
                ret += tmp;
            } else {
                ret += " " + tmp;    
            }
        }
        return ret;
    }
};

暂无评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注

© 2018-2019 惜春令 京ICP备18010644号 网站地图