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;
}
};
这篇博客介绍了一个C++解决方案,用于翻转输入字符串中的单词序列。通过创建一个栈来存储单词,利用栈的后进先出特性,实现了翻转过程。注意在添加单词间空格时的特殊情况,即栈中只剩一个单词时不加空格。
369

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



