Given an input string, reverse the string word by word.
For example,
Given s = "the sky is blue",
return "blue is sky the".
题目比较简单,就是倒置一下字符串。中间说的几个细节,开头,末尾,包括中间都可能出现多个空格,都需要忽略。格式化为每个词之间只有一个空格的字符串。因为有stringstream,这个就很简单了。
class Solution {
public:
void reverseWords(string &s) {
if(!s.size())
return ;
vector vec;
string ss=s;
string temp;
s.clear();
stringstream p(ss);
while(p>>temp)
{
vec.push_back(temp);
}
if(!vec.size())
{
return ;
}
for(int i=vec.size()-1;i>0;i--)
{
s+=vec[i];
s+=" ";
}
s+=vec[0];
}
};
原文:http://blog.csdn.net/xyw_blog/article/details/20995793