字符串解压缩算法 c语言,字符串压缩算法

本文介绍了一个简单的Java程序,用于实现字符串的压缩功能。通过遍历输入的字符串并记录连续字符的数量来达到压缩目的。该算法适用于基本的文本数据压缩场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.io.IOException;

public class Main {

public static void main(String[] args) throws IOException {

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

String str;

while((str = br.readLine()) != null) {

char[] chars = str.toCharArray();

int step = 0;

int count = 1;

char flag = chars[step];

StringBuilder sb = new StringBuilder();

while(step 

step ++;

if(chars[step] != flag){

// 关键字改变,进行压缩

if(count > 1)

sb.append(count - 1).append(flag);

else

sb.append(flag);

// 修改关键字,将计数置1

count = 1;

flag = chars[step];

}else{

// 关键字不变,直接计数+1

count ++;

}

}

// 最后一个关键字需要单独处理

if(count > 1)

sb.append(count - 1).append(flag);

else

sb.append(flag);

System.out.println(sb.toString());

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值