Java:
package blueBridge;
import java.util.*;
import java.math.BigInteger;
import java.util.*;
public class testOne {
/*
* 题目
* 给定一个矩阵matrix,返回子矩阵的最大累加和
* */
static String zipStr(String str) {
int count=0; //记录前一个字符的重复次数
char last=0; //上一个字符
StringBuilder sb=new StringBuilder();
for(int i=0;i<str.length();i++) {
char charAt=str.charAt(i);
if(sb.length()==0) {
sb.append(charAt);
count++;
}else {
if(last==charAt) { //和上一个字符相同
count++;
}else { //和上一个字符不同
sb.append(count).append(charAt);
count=1; //重置为1
}
}
last=charAt;
}
if(count>=1) { //考虑最后一个字符的重复次数
sb.append(count);
}
return sb.toString();
}
public static void main(String[] args) {
String str="aaabbccdeeeefffggaaaaaahhh";
String res=zipStr(str);
System.out.println(res);
}
}