首页 > 代码库 > Reverse Words in a String

Reverse Words in a String

考虑几个特殊的情况
1.若字符窜s="  "
2.字符窜s=“a  b  d     e”
3.字符窜s=“ a”
然后在s后面+上一个‘ ’,每次遇到s[i]为空格,s[i-1]不为空格的时候为一个单词

 

class Solution{public:    void reverseWords(string &s)    {        int i;        int cas=0;        string st[100];        s+=‘ ‘;        for(i=0; i<s.size(); i++)        {            if(i==0 && s[0]==‘ ‘) continue;//排除掉首字符窜为空格            if(s[i]==‘ ‘ && s[i-1]==‘ ‘) continue;//排除掉多个空格字符            if(s[i]==‘ ‘ && s[i-1]!=‘ ‘)            {                cas++;                continue;            }            st[cas]+=s[i];        }        s.clear();        if(cas==0) return ;        s+=st[cas-1];        for(i=cas-2; i>=0; i--)        {            if(st[i]!=" ")            {                s+=‘ ‘;                s+=st[i];            }        }    }};