实现简易字符串压缩算法:一个长度最大为128的字符串, 由字母a-z或者A-Z组成,将其中连续出现2次以上(含2次)的字母转换为字母和出现次数,以达到压缩目的

来源:互联网 发布:mysql 字符转日期函数 编辑:程序博客网 时间:2024/05/13 13:27

题目还是比较简单的,只需要在字符串的起始位置设置指针即可,代码如下所示:

/*实现简易字符串压缩算法:一个长度最大为128的字符串,由字母a-z或者A-Z组成,将其中连续出现2次以上(含2次)的字母转换为字母和出现次数,以达到压缩目的。样例输入:AAAABBBB样例输出:A4B4*/#include <iostream>#include <string>#include <algorithm>using namespace std;string Find(string str, string strend);int main() {    string str;    string strend;    cin >> str;    Find(str);    return 0;}void Find(string str) {    int sum = 1;    int i = 0, j = 0;    while (i < str.size() &&  j< str.size()) {        j = i + 1;        if (str[j] == str[i]) {            sum++;        }        else {            cout << str[i] << sum;            sum = 1;        }        i++;    }}
0 0
原创粉丝点击