牛客--2019快手--字符串压缩

题目描述:
对字符串进行RLE压缩,将相邻的相同字符,用计数值和字符值来代替。例如:aaabccccccddeee,则可用3a1b6c2d3e来代替。
输入描述:
输入为a-z,A-Z的字符串,且字符串不为空,如aaabccccccddeee
输出描述:
压缩后的字符串,如3a1b6c2d3e
输入:
aaabccccccdd
输出:
3a1b6c2d
题意:
题目描述
题解
直接暴力搞
代码:

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
using namespace std;

const int maxn = 100000 + 5;
char s[maxn];

int main(){
    while(scanf("%s",s)!=EOF){
        int l = strlen(s);
        int t = 1;
        char op = s[0];
        for(int i = 1; i < l; i ++){
            if(s[i] == op){
                t ++;
            }
            else{
                printf("%d%c",t,op);
                t = 1;
                op = s[i];
            }
        }
        printf("%d%c\n",t,op);
    }
    return 0;
}

发布了228 篇原创文章 · 获赞 1 · 访问量 13万+

猜你喜欢

转载自blog.csdn.net/Ypopstar/article/details/105128462