给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。
示例 1:
输入: "Let's take LeetCode contest" 输出: "s'teL ekat edoCteeL tsetnoc"
简析:就是每次遇到空格或者到最后一个字后,将每一个部分的单词反转,然后再叠加。
class Solution {
public:
string reverseWords(string s) {
string out = "";
string s1 = "";
for (int i = 0; i < s.length();i++)
{
if(s[i] != ' ')
{
s1 = s1 + s[i];
}
if(s[i] == ' ' or i == s.length()-1)
{
reverse(s1.begin(), s1.end());
if(out == "")
out = s1;
else
out = out + ' ' + s1;
s1.clear();
}
}
return out;
}
};