考虑几个特殊的情况 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];
}
}
}
};