JZ73 翻转单词序列
因为要翻转单词序列,首先想到用栈,用栈存储单词,根据栈先入后出的性质,可以实现翻转,但是有些细节需要注意
class Solution {
public:
string ReverseSentence(string str) {
stack<string> word;//建立栈存储单词
if(!str.length())
{
return str;
}else{
string temp;
for(int i = 0;i < str.length();i++)
{
//cout<<str[i]<<endl;
if(str[i] != ' ')
{
temp += str[i];
}else{
word.push(temp);//单词入栈
temp = "";
}
}
word.push(temp);//最后一个单词入栈
}
string result;
while(!word.empty())
{
if(word.size() != 1)//注意栈中只有一个元素时不加空格
{
result += word.top()+" ";//加空格
}else{
result += word.top();
}
word.pop();
}
return result;
}
};