class Solution {
public:
string reverseWords(string s) {
int len = s.size();
vector<string> v_string;
if (len == 0)
return "";
int index = 0;
for (int i = 0; i < len / 2; ++i)
swap(s[i], s[len - 1 - i]);
string word;
string result;
int begin = 0;
while (index <len)
{
while (index <len)
{
if (s[index] == ' ')
{
++index;
break;
}
word = word + s[index];
++index;
}
if (word == "")
continue;
v_string.push_back(word);
word.clear();
}
for (int j = 0; j < v_string.size(); ++j)
{
auto wor = v_string[j];
int len = wor.size();
for (int k = 0; k < len / 2; ++k)
swap(wor[k], wor[len - 1 - k]);
result = result + wor;
if (j != v_string.size()-1)
result = result + ' ';
}
return result;
}
};