題目:

解答:
class Solution {
public:
int compress(vector<char>& chars) {
string r;
int cnt = 1;
char ch = chars[0];
for (int i = 1; i < chars.size(); i++) {
if (ch == (char)chars[i]) {
cnt += 1;
continue;
}
r += ch;
if (cnt > 1) {
r += to_string(cnt);
}
cnt = 1;
ch = chars[i];
}
r += ch;
if (cnt > 1) {
r += to_string(cnt);
}
chars.clear();
for (char c : r) {
chars.push_back(c);
}
return chars.size();
}
};