字符串压缩

2020-08-18  本文已影响0人  小虫虫奇遇记
  1. 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;
    }
上一篇 下一篇

猜你喜欢

热点阅读