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); } }