为了节约存储容量,需要压缩字符串,请写出一段程序,可以将字符串按照以下规则压缩并输出。
压缩规则为:相同字符串连续,则压缩为“字符串个数+字符”,如“aaabb”压缩为“3a2b”
public static String changeStr(String str) {
StringBuffer sb = new StringBuffer();
int count = str.length();
char c1 = str.charAt(0);
int sum = 1;
for (int i = 1; i < count; i++) {
char c2 = str.charAt(i);
if (c1 == c2) {
sum++;
continue;
}
if (sum == 1) {
sb.append(c1);
}else {
sb.append(sum).append(c1);
}
c1 = c2;
sum = 1;
}
if (sum == 1) {
sb.append(c1);
}else {
sb.append(sum).append(c1);
}
return sb.toString();
}