- 编码:给定一个只包含A-Z的字符串,使用如下方式解码
- 将字符串中的k个相同的字符串写成kX,如果子串的长度为1,则1可忽略。如ABBCCCD写作A2B3CD
#include<iostream>
using namespace std;
int main() {
int n,temp;
string s,t;
cin >> n;
for (int i = 0; i < n; i++) {
cin >> s;
cout << "解码后:";
t[0] = s[0];
temp = 0;
for (int j =0; j < s.size(); j++) {
if (s[j] == t[0]) {
temp++;
if (j == s.size() - 1) {
if (temp == 1)
cout << t[0];
else {
cout << temp << t[0];
}
}
}
else {
if (temp == 1) {
cout << t[0];
}
else {
cout << temp << t[0];
}
t[0] = s[j];
temp = 1;
if (j == s.size() - 1) {
if (temp == 1)
cout << t[0];
else {
cout << temp << t[0];
}
}
}
}
cout << endl;
}
return 0;
}