给定一个只含“A” ~ “Z” 的字符串,我们使用下面的方法给它编码。
1.将子字符串中的k个相同的字符写成”kx“,X是子串中的字符。
2.如果子串的长度为1,那么1要忽略。
如:
输入
2
ABC
ABBCCC
输出:
ABC
A2B3C
代码如下:
#include<string>
#include<iostream>
using namespace std;
int main()
{
string s;
char t;
int n;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>s;
t = s[0];
int temp = 0;
for(int j=0;j<s.size();j++)
{
if(s[j]==t)
{
temp++;
if(j==s.size()-1)
{
if(temp==1)
cout<<t;
else
cout<<temp<<t;
}
}
else
{
if(temp==1)
cout<<t;
else
cout<<temp<<t;
t = s[j];
temp = 1;
if(j==s.size()-1)
{
if(temp==1)
cout<<t;
else
cout<<temp<<t;
}
}
}
cout<<endl;
s="";
}
return 0;
}