压缩字符串
题目描述
实现一个算法来压缩一个字符串。压缩的要求如下:
1.需要判断压缩能不能节省空间,仅在压缩后字符串比原字符串长度更短时进
行压缩。
2.压缩的格式是将连续相同字符替换为字符+数字形式,例如
"AAABCCDDDD"变为“A3BC2D4"。
输入描述
输入一行字符串,长度不超过 500.
输出描述
输出一行。若输入的字符串可压缩,则输出压缩后的字符串,否则输出No。
代码如下:
#include<stdio.h> #include<string.h> int main() { char s[100]; gets(s); int n = strlen(s), cnt = 0, i; for (i = 1; i < n; i++) { if (s[i] == s[i - 1]) break; } if (i == n) printf("NO"); else { for (i = 0; i < n; i++) { cnt++; if (s[i] != s[i + 1]) { printf("%c", s[i]); if (cnt > 1) printf("%d", cnt); cnt = 0; } } } return 0; }#非技术实习信息共享##23届找工作求助阵地##我的实习求职记录#