题目大意:将给出的字符串反转,不改变句子中单词的顺序,只是将每个单词单独反转。
分析:简单的将每一段reverse/使用stack翻转每一段(FILO)
代码:转载自http://blog.csdn.net/liuchuo/article/details/71156730
class Solution {
public:
string reverseWords(string s) {
string result = "";
stack<char> word;
int flag = 0;
for (int i = 0; i < s.length(); i++) {
if (s[i] != ' ')
word.push(s[i]);
if (s[i] == ' ' || i == s.length() - 1) {
if (flag == 1) result += " ";
flag = 1;
while (!word.empty()) {
result += word.top();
word.pop();
}
}
}
return result;
}
};