力扣笔记 —— 数组——单词顺序翻转
用到的知识点:
- 1.字符串的拼接
- 2.sstream库中的istringstream类型
字符串的拼接
字符串的拼接可以用“+=”和.append()来操作
s1="hello ";
s2="world";
s3=s1+s2;
//输出就是 hello world
sstream库中的istringstream类型
istringstream用于执行C++风格的串流的输入操作。
它可以将空格前面的字符取出
s="the sky is blue"
istringstream is(s); //就等于定义了一种输入,输入的是s这个字符串
string str;
while(is>>str)
cout<<str<<endl; //istringstream遇到空格就会将空格之前的字符输入进去,在这里就相当于分别输入you,are,my,friend在str字符串中
不能将is输出,即cout<<is<<endl 因为输出类型不对
例题:
代码:
#include<iostream>
#include<sstream>
#include<string>
using namespace std;
void reverseWords(string s) {
string strs;
istringstream is(s);
s.clear();
while (is >> strs)
{
cout << strs;
s = " "+strs + s;
}
cout << endl;
s.erase(0,1);
cout << s;
}
int main()
{
string s = " the sky is blue ";
reverseWords(s);
system("pause");
return 0;
}