class Solution {
public:
string reverseWords(string s) {
string res;
stack<char>sk;
for(int i = 0; i < s.size(); i++){
if(s[i] != ' ')
sk.push(s[i]);
if(s[i] == ' ' || i == s.size()-1){
while(!sk.empty()){
res.push_back(sk.top());
sk.pop();
}
res.push_back(' ');
}
}
return res.substr(0,s.size());
}
};
class Solution {
public:
string reverseWords(string s) {
int i = 0;
while(i < s.size()){
int left = i;
while(s[i] != ' ' && i < s.size()){
i++;
}
int right = i-1;
while(left < right){
swap(s[left],s[right]);
left++;
right--;
}
if(s[i] == ' '){
i++;
}
}
return s;
}
};