- int转char
String.valueOf(num).toCharArray();
index++:先赋值,后加1;最后index已经是最后的长度;
字符长度为1时 不加个数。
public int compress(char[] chars) {
if(chars == null || chars.length == 0){
return 0;
}
int index = 0;
int l = chars.length;
for(int i =0;i<l;){
int j = i+1;
while(j<l&&chars[j]==chars[i]){
j++;
}
chars[index++] = chars[i];
int num = j-i;
if(num>1){
String str = String.valueOf(num);
char[] array = str.toCharArray();
for (int k = 0; k < array.length; k++){
chars[index++] = array[k];
}
}
i = j;
}
return index;
}
网友评论