##问题描述
##压缩字符串,压缩规则:
#1、仅压缩连续重复出现的字符。比如字符串"abcbc"由于无连续重复字符,压缩后的字符串还是"abcbc"。
#2、压缩字段的格式为"字符重复的次数+字符"。例如:字符串"xxxyyyyyyz"压缩后就成为"3x6yz"。
##我的代码
#include<iostream>
#include<string.h>
using namespace std;
void stringZip(const char* pInputStr, int lInputLen, char* pOutputStr) {
int n = 1;
int j = 0;
for (int i = 0; i <= lInputLen; i++) {
if (pInputStr[i] == pInputStr[i + 1]) {
n++;
continue;
}
else{
if (n != 1) {
char temp = n - '0';
pOutputStr[j] = temp;
pOutputStr[j++] = pInputStr[i];
j++;
}
else if(n==1){
pOutputStr[j] = pInputStr[i];
j++;
}
}
n = 1;
}
pOutputStr[j] = '\0';
}
int main()
{
char a[1000];//原始字符串
cin >> a;
int len=strlen(a);//字符串长度
char b[1000];//压缩后的字符串
stringZip(a, len, b);
cout << b << endl;
return 0;
}
##输入aaabbc 输出结果:a蘠蘡
##期望输出:3a2bc
##不知道哪里有问题,求解答!!!