题文
给定一个字符串,逐个翻转字符串中的每个单词。
说明:
- 无空格字符构成一个单词。
- 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。
- 如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。
样例
输入: " hello world! "
输出: “world! hello”
输入: “a good example”
输出: “example good a”
代码
string reverseWords(string& s) {
if(s.empty()) return "";
vector<string> temp;
stringstream ss(s);
string str,ans;
while(getline(ss,str,' ')){
if(str!="") {
temp.push_back(str);
}
}
if(temp.empty()) return "";
for(int i=temp.size()-1;i>=1;--i){
ans+=temp[i];
ans+=" ";
}
ans+=temp[0];
return ans;
}