【题目】
给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。
【示例】
输入:“Let’s take LeetCode contest”
输出:“s’teL ekat edoCteeL tsetnoc”
【提示】
在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。
【代码】
class Solution {
public:
string reverseWords(string s) {
string rs=s+" ";
int pos=rs.find(' '),start=0;
reverse(rs.begin()+start,rs.begin()+pos);
start=pos;
pos=s.find(' ',pos);
while(pos<rs.size()&&pos>=0){
reverse(rs.begin()+start+1,rs.begin()+pos);
start=pos;
pos=rs.find(' ',pos+1);
}
rs.erase(rs.size()-1);
return rs;
}
};