根据【字符串连续重复】压缩字符串

题目

利用字符重复出现的次数,编写一个方法,实现基本的字符串压缩功能。如字符串aabcccccaaa会变成a2bc5a3。

代码:

public class CompressSeqSame {

    public static void main(String[] args) {
        System.out.println(compress(""));
        System.out.println(compress(null));
        System.out.println(compress("abbbccde"));
        System.out.println(compress("aaabbbccdezzzz"));
        System.out.println(compress("abbbccdefzzzffe"));
        System.out.println(compress("abbbccdezzdd"));
        System.out.println(compress("abbbccdeddz"));
        System.out.println(compress("abcdefg"));
    }
    
    private static String compress(String orign){
        if(null == orign || orign.length()==0){
            return orign;
        }
        String des = "";
        char last = orign.charAt(0);
        int count = 1;
        for(int i=1;i<orign.length();i++){
            if(last==orign.charAt(i)){
                ++count;
            }else{
                des+=last+""+(count==1?"":count);
                last = orign.charAt(i);
                count = 1;
            }
        }
        return des+last+(count==1?"":count);
    }

}

输出结果:


null
ab3c2de
a3b3c2dez4
ab3c2defz3f2e
ab3c2dez2d2
ab3c2ded2z
abcdefg
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,144评论 1 32
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,820评论 0 10
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,748评论 1 45
  • 一. Java基础部分.................................................
    wy_sure阅读 3,838评论 0 11
  • 《刘润商学院》7.16 文中有三句话:‘’你每天最重要的事情是做什么?你每天做什么事情花的时间最多?你在履职时感到...
    台一DDM路静娟阅读 271评论 0 0