N个连续的字符转换N字符(N>1)。

输入:aaaabbbbbc

输出:4a5bc


可以用一个 count 变量记录每个组内重复次数并用于跳转到下一组。可以用 to_string()函数将整数转为字符串。

C++25 linesExpandCollapse
#include <bits/stdc++.h>
using namespace std;

int main() {
    string s;
    cin >> s;
    
    string ans;
    
    int n = s.size();
    for (int i = 0; i < n; ) {
        int count = 1;
        while (i + count < n && s[i] == s[i + count]) {
            count++;
        }
        if (count > 1) {
            ans += to_string(count);
        }
        ans += s[i];
        i += count;
    }
    cout << ans << endl;
    
    return 0;
}