字符串压缩
时间限制:C/C++ 1000MS,其他语言 2000MS
内存限制:C/C++ 128MB,其他语言 256MB
难度:简单
分数:100 OI排行榜得分:12(0.1*分数+2*难度)描述
给定一个字符串,将连续相同的字符进行压缩。例如,输入“aaabbbccdef”,其中字符a和字符b还有字符c都有连续相同的,相同的部分只留下一个字符,后面跟上相同字符的个数,例如上面例子压缩后变成“a3b3c2def”。
现给你一个字符串,将其按照这个规则压缩后再输出输入描述
一行字符串,字符串长度小于256
输出描述
压缩后的字符串形式
用例输入 1
aaabbbccdef用例输出 1
a3b3c2def
这道题先看了一下认为可以用遍历一遍再输出时顺便去重的方式来解决:
例程:
#include <bits/stdc++.h>
using namespace std;
int main() {
string a;
int team=0; //累加变量
getline(cin,a); //用cin无法识别空格
for(int i=0;i<a.length();i++){
if(a[i]!=a[i+1]){ //如果team大于1就让team++后输出,别忘了把team赋为0;
cout<<a[i];
team++;
if(team>1)
cout<<team;
team=0;
}else{
team++; //如果一样就累加
}
}
return 0;
}