151. Reverse Words in a String
Given an input string, reverse the string word by word.
For example,
Given s = "the sky is blue
",
return "blue is sky the
".
class Solution {
public:
void reverseWords(string &s)
{
stack<string> words;
int k = 0;
while (k < s.size())
{
int length = 1;
if(s[k] != ' ')
{
while(1)
{
if ( k + length < s.size() && s[k+length] != ' ')
length++;
else
{
words.push(s.substr(k, length));
break;
}
}
k = k + length;
}
k++;
}
s = "";
while(!words.empty())
{
s += words.top() + " ";
words.pop();
}
s = s.substr(0, s.size() - 1);
return;
}
};