766. 去掉多余的空格
题目描述:
做法1:使用cin过滤空格,再加入一个空格
#include <iostream>
using namespace std;
int main(){
string s;
while(cin >> s) cout << s << " ";
}
做法2:双指针过滤空格
演示:
#include <iostream>
using namespace std;
int main(){
string a;
//整行读入
getline(cin,a);
string r;
for(int i=0; i<a.size(); i++){
if(a[i]!=' ') r+=a[i];
else{
r+=' ';
/*接下来过滤之后的空格
*使用k来跳过中间的空格
*/
int k=i;
while(k<a.size() && a[k]==' ') k++;
//为什么不是i=k,是因为本次循环结束还要i++
//为了使i的值不变,所以 k - 1
i = k - 1;
}
}
cout << r << endl;
return 0;
}