0
点赞
收藏
分享

微信扫一扫

压缩字符串

亿奇学 2021-09-21 阅读 74
题目描述:
示例 1:
示例 2:
示例 3:
题目分析:
  • 求chars数组中每个字符的重复数.
  • 只能使用常量额外空间
思路:
代码实现:
class Solution {
    public int compress(char[] cs) {
        int len = cs.length;
        int left = 0, right = 0, idx = 0;
        while (left < len) {
            while (right < len && cs[left] == cs[right]) { 
                right++;
            }
            cs[idx++] = cs[left];
            int temp = right - left;
            if (temp > 1 && temp < 10) cs[idx++] = (char) (temp + '0');
            if (temp >= 10) {
                String str = String.valueOf(temp);
                for (int i = 0; i < str.length(); i++) {
                    cs[idx++] = str.charAt(i);
                }
            }
            left = right;
        }
        
        return idx;
    }
}
举报

相关推荐

0 条评论