题目描述
给定一个字符串 s,请你按如下规则压缩:
-
连续相同的字符压缩为
字符 + 出现次数 -
如果出现次数为 1,则只输出字符,不输出 1
-
只压缩连续字符
输入描述
输入一行字符串 s,长度不超过 1000。
输出描述
输出压缩后的字符串。
示例 1
输入
text
aaabbc
输出
text
a3b2c
示例 2
输入
text
abc
输出
text
abc
C++ 解法
cpp
#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 j = i;
while (j < n && s[j] == s[i]) j++;
int cnt = j - i;
ans += s[i];
if (cnt > 1) ans += to_string(cnt);
i = j;
}
cout << ans << endl;
return 0;
}