问题描述:
将字符串原地压缩,如"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;
}
}
}