经典指数          
原因
1582
浏览数
0
收藏数
 

把“eeeeeaaaff" 压缩为 "e5a3f2",请编程实现。

     举报   纠错  
 
切换
1 个答案

public String zipString(String iniString) {

int count = 1;

String str = "";

char[] chars = null;

iniString = iniString + '\0';

chars = iniString.toCharArray();

for(int i=0; i

if(chars[i] == chars[i+1]) {

count++;

} else {

str = str + chars[i] + count;

count = 1;

}

}

// 压缩后字符串长度未减少则保持原样

if(str.length() < (iniString.length()-1)) {

return str;

} else {

return iniString.substring(0, iniString.length()-1);

}

}

 
切换
撰写答案