压缩字符串

image.png
思路:循环遍历,当遇到连续的相同的字符时,统计其出现的个数,然后加到结果字符串中。最后根据结果字符串把chars数组更新一下

class Solution {
    public int compress(char[] chars) {
        int i = 0;
        int n = chars.length;
        int count;
        String result = "";
        while (i < n) {
            count = 1;
            char c = chars[i];
            while (i < n - 1 && chars[i] == chars[i + 1]) {
                i++;
                count++;
            }
            result += c;
            if (count != 1) {
                result += String.valueOf(count);
            }
            i++;
        }
        for (int k = 0; k < result.length(); k++) {
            chars[k] = result.charAt(k);
        }
        return result.length();
    }
}
复制代码