题目描述:
示例 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;
}
}