1.5

利用字符重复出现的次数,编写一个方法,实现基本的字符串压缩功能。比如,字符串“aabcccccaaa”经压缩会变成“a2b1c5a3”。若压缩后的字符串没有变短,则返回原先的字符串。
给定一个string iniString为待压缩的串(长度小于等于10000),保证串内字符均由大小写英文字母组成,返回一个string,为所求的压缩后或未变化的串。
测试样例
"aabcccccaaa"
返回:"a2b1c5a3"
"welcometonowcoderrrrr"
返回:"welcometonowcoderrrrr"

public class Zipper {

// /    利用字符重复出现的次数,编写一个方法,实现基本的字符串压缩功能。比如,字符串“aabcccccaaa”经压缩会变成“a2b1c5a3”。若压缩后的字符串没有变短,则返回原先的字符串。
//    给定一个string iniString为待压缩的串(长度小于等于10000),保证串内字符均由大小写英文字母组成,返回一个string,为所求的压缩后或未变化的串。
//    测试样例
//"aabcccccaaa"
//    返回:"a2b1c5a3"
//            "welcometonowcoderrrrr"
//    返回:"welcometonowcoderrrrr"
public String zipString(String iniString) {
    // write code here
    char[] chars=iniString.toCharArray();
    if(chars.length == 1){
        return iniString;
    }
    String newString=iniString.substring(0,1);
    int counter=1;
    for(int i=0;i<iniString.length()-1;i++){
        if(chars[i] == chars[i+1]){
            counter++;
        }else{
            newString+=counter;
            newString+=chars[i+1];
            counter=1;
        }
    }
    newString+=counter;
    return newString.length()<iniString.length()?newString:iniString;
}
    public static void main(String[] args){
    String Strings="aabcccccaaa";
        System.out.println(new Zipper().zipString(Strings));
    }
}

此题没啥好说的

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

推荐阅读更多精彩内容

  • JS高级教程 1.探讨了JS面向对象程序设计和继承的方式,以及如何在HTML等标记语言中使用它。在深入剖析了事件和...
    vernwang阅读 937评论 0 50
  • AngularJS的优点? 实现了数据、表现、逻辑分离扩展了HTML的功能 什么是MVC? M:Model ...
    FTD止水阅读 1,751评论 0 1
  • 黑暗 黑暗 一直都是黑暗 找不到的方向 看不到的色彩 死寂 死寂 一直都是死寂 听不到的美丽 感受不到的芳华
    肥仔五六七阅读 249评论 0 0
  • 1.用户具有连续性需求。 2.二次分享的价值很重要。 3有趣、有用、有品。 4.一定要让用户可以在里面创造内容、安...
    天赋文案阅读 474评论 0 0
  • 近几年,由于电动自行车的经济、方便、快捷,在城市道路交通行驶中所占的比例逐年增加,而驾驶人因不遵守交通法规引起的交...
    七羊阅读 232评论 0 1