java
累了不想解释
class Solution {
public int compress(char[] chars) {
int ans=1;
char tmp=chars[0];
int g=1;
StringBuilder res = new StringBuilder();
res.append(tmp);
if(chars.length==1) {
//res.append(1);ans++;
}
for(int i=1;i<chars.length;i++) {
if(chars[i]==tmp) {
g++;
}
else{
if(g!=1) {
char[] t=String.valueOf(g).toCharArray();
for(int j=0;j<t.length;j++) {
//System.out.println(t[j]);
res.append(t[j]);ans++;
}
}
g=1;
tmp=chars[i];
res.append(tmp);ans++;
}
if(i==chars.length-1) {
if(g!=1) {
char[] t=String.valueOf(g).toCharArray();
for(int j=0;j<t.length;j++) {
res.append(t[j]);ans++;
}
}
}
}
for(int i=0;i<ans;i++) {
chars[i]=res.toString().toCharArray()[i];
}
return ans;
}
}