这里的压缩不是指字符串数据的霍夫曼算法的压缩,而是根据字符的个数提取系数,例如:aaabbccdddd-->3a2b2c4d
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "aaabbcccddjjjj";
char buff[50] = {0};
int i = 0, cnt = 0;
while (*(str + i)) {
if (*(str + i) == *(str + i +1)) {
cnt++;
i++;
} else {
sprintf(buff + strlen(buff), "%d%c", cnt, *(str+i));
cnt = 1;
i++;
}
}
printf("%s\n", buff);
return 0;
}