字符串压缩

问题描述

将字符串原地压缩,如"eeeeeaaaffeee"压缩为"e5a3f2e3",请编程实现

代码展示

public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入字符串");
        String s=sc.nextLine();
        int[] a=new int[s.length()+1];
        for (int i = 0; i <s.length(); i++) {
            a[i]=s.codePointAt(i);//将字符的Unicode存在a数组里
        }
        int count=1;
        for (int i = 1; i <a.length; i++) {
            if (a[i]==a[i-1]){
                count++;
            }else {
                System.out.print((char)a[i-1]+""+count);//字符与int相加时会自动转为int,所以用字符串拼接一下
                count=1;
            }
        }
    }