/*
字符串原地压缩。题目描述:“eeeeeaaaff" 压缩为 "e5a3f2"。
//*/
#include <iostream>
#include <iomanip>
#include <limits>
using namespace std;
int main()
{
//char a[] = {'a','s','d','f','g','h','j','k','l','\0'};
//cout << a << endl;
//cout << "group size: " << sizeof(a) << endl;
char b[] = "aaassssdsddddjjjllllll";
cout << b << endl;
//cout << "group size: " << sizeof(b) << endl;
char c[2*sizeof(b)];
char* p = b;
int cnt = 1;
int s = 0;
c[s] = *p;
while(*p != '\0'){
++p;
if(*p == *(p-1)){
++cnt;
}else{
s = s+1;
c[s] = char(cnt + '0');
s = s+1;
c[s] = *p;
cnt = 1;
}
}
c[s+1] = '\0';
cout << c << endl;
return 0;
}
字符串原地压缩
最新推荐文章于 2019-03-17 19:35:20 发布