class Solution { public: int compress(vector<char> &chars) { int k = 0, n = chars.size(); for (int i = 0, j = i + 1; i < n;) { while (j < n && chars[j] == chars[i]) ++j; chars[k++] = chars[i]; if (j - i > 1) { for (char c : to_string(j - i)) { chars[k++] = c; } } i = j; } return k; } };