题目描述
输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. “,则输出"student. a am I”。
示例:
输入: " hello world! "
输出: "world! hello"
解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。
代码
class Solution {
public:
string reverseWords(string s) {
int n;
vector<string> result;
n=s.size();
string ss="";
string sss="";
string re="";
for(int i=0;i<n;i++){
if(s[i]!=' ')
{
sss=s[i];
ss.append(sss);
}
else {
if(ss!="")
result.push_back(ss);
ss="";
}
}
if(ss!="")
result.push_back(ss);
for(int i=result.size()-1;i>=0;i--){
re.append(result[i]);
if(i!=0){
re.append(1,' ');
}
}
return re;
}
};