leetCode_Reverse Words in a String

来源:互联网 发布:淘宝店铺严重违规48分 编辑:程序博客网 时间:2024/05/19 23:52

题意 :略

有1个坑。分隔符都是空格 但是不论原来词和词之间有几个空格,转换后的语句词和词之间都只能有1个空格。

思路:用一个栈来存单词(这里的单词不仅包含a-z),首先顺序变量一遍把单词存进去,然后再一个一个弹出来,弹出一个单词加一个空格。

这个可是谷歌校招模拟面试题。。。(估计面试的时候不会问这么简单的)努力努力~。还好方法都是自己想出来的。加油~

代码如下:

class Solution {public:void reverseWords(string &s){    stack<string> words;    string temp;    int i=0,length=s.length();    while(i<length)    {        if(s[i]==' ')        {            if(temp!="")            {                words.push(temp);                temp="";            }        }        else temp+=s[i];        i++;    }    if(temp!="") words.push(temp);    s="";    while(!words.empty())    {        s+=words.top();        words.pop();        if(!words.empty()) s+=" ";    }}};


0 0
原创粉丝点击