翻转单词顺序列

来源:互联网 发布:.com.cn是顶级域名吗 编辑:程序博客网 时间:2024/06/06 01:33

牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?

class Solution {public:    string ReverseSentence(string str) {        stack<string> ss;         string s;        int i = 0;        int flag = 0;        while( i != str.length())            {                if (str [i] == ' ')                    {                        if (flag == 0)                        {   ss.push(str.substr(0,i));                            str = str.substr(i+1);                            i = 0;                            flag = 1;                            continue;                        }else{                            ss.push(str.substr(0,i) + " ");                            str = str.substr(i+1);                            i = 0;                            continue;                        }                }            i++;        }        if (flag == 0)            {                return str;        }        ss.push(str.substr(0) + " ");        while(ss.size() != 0)            {                s.append(ss.top());                ss.pop();        }        return s;    }};
原创粉丝点击