考研系列之字符串压缩
程序员文章站
2024-03-14 14:03:16
...
问题:
字符串压缩,比如xxxxxdddfff,输出x5d3f3
算法思想:
设置一个游标,一个计数器,依次将当前的字符和游标字符比较,如果相同,计数器++,游标继续后移,如果不同,将当前的字符加入到待输出的字符串中,并加入计数器的数量
#include <iostream>
#include <string>
using namespace std;
#define MAX_SIZE 100 //假设字符长度最大为100
string compress(string iniString) {
string str;
int count = 1;
for (int i = 0; i < iniString.length(); i++){
if (iniString[i] == iniString[i + 1]){
count++;
continue;
}
str += iniString[i];
str += to_string(count);
count = 1;
}
if (str.length() >= iniString.length())
return iniString;
return str;
}
int main() {
char str[MAX_SIZE];
cin >> str;
string s = compress(str);
cout << s << endl;
system("pause");
return 0;
}
下一篇: php知识整理
推荐阅读
-
考研系列之字符串压缩
-
python数据清洗系列之字符串处理详解
-
python数据清洗系列之字符串处理详解
-
精通Javascript系列之数据类型 字符串_javascript技巧
-
iOS安全防护系列之字符串及系统函数隐藏详解
-
iOS安全防护系列之字符串及系统函数隐藏详解
-
PHP字符串函数系列之nl2br(),在字符串中的每个新行 ( ) 之前插入 HTML 换行符br
-
PHP字符串函数系列之nl2br(),在字符串中的每个新行 ( ) 之前插入 HTML 换行符br
-
PHP字符串函数系列之nl2br(),在字符串中的每个新行 ( ) 之前插入 HTML 换行符br
-
【thinkphp5操作redis系列教程】字符串类型之setBit,getBit