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;
}
};
本文介绍了一种使用栈来实现字符串中单词顺序反转的方法。通过遍历输入字符串并将每个单词压入栈中,最后依次弹出栈中的元素即可得到反转后的单词顺序。此方法适用于C++等编程语言。

542

被折叠的 条评论
为什么被折叠?



