Given a string, you need to reverse the order of characters in each word within a sentence while still preserving whitespace and initial word order.
Example 1:
Input: "Let's take LeetCode contest" Output: "s'teL ekat edoCteeL tsetnoc"
Note: In the string, each word is separated by single space and there will not be any extra space in the string.
以采用栈的思想,当检测到一个空格之前把字符入栈,当遇到空格时反向输出
class Solution {
public:
string reverseWords(string s) {
string scout;
stack<char> temp;
int len = s.length();
for(int i=0;i<len;i++)
{
if(s[i] != ' ')
{
temp.push(s[i]);
}else{
//cout<<scout<<endl;
while(!temp.empty())
{
scout += temp.top();
temp.pop();
}
scout += ' ';
}
if(i == len-1)
{
while(!temp.empty())
{
scout += temp.top();
temp.pop();
}
}
}
return scout;
}
};