题目意思:
Given an input string, reverse the string word by word.
For example,
Given s = "the sky is blue",
return "blue is sky the".
大意就是:
给定一个字符串,然后按单词划分后,对它们逆序之后再组合成字符串.
做题思路:
用字符串流.字符串流的功能:1,类型转换; 2,按空格划分.在此用到第二个功能.
代码如下:
lass Solution{
public:
void reverseWords(string& s){
istringstream in(s);
vector<string> mm;
string temp;
while(in >> temp){
mm.push_back(temp);
}
int i = mm.size()-1;
s = "";
while(i>=0){
if(s == ""){
s += mm[i];
}
else{
s += " " + mm[i];
}
i--;
}
}
};注: string类型变量,如果要按空格划分成单词输入,则需要用到字符串流,如上述代码中所示; 如果要按行输入则需要用到getline函数.如: string mm; getline(cin, mm);
本文介绍了一种通过字符串流实现的单词级逆序算法。利用字符串流的特性将输入字符串按单词进行划分,并采用向量存储,最后逆序输出。文章详细展示了如何使用字符串流和向量来完成这一任务。
918

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



