字符串转换
标题:字符串转换 | 时间限制:1秒 | 内存限制:262144K | 语言限制:不限
将一个只包含英文小写字母和大写字母和阿拉伯数字的字符串,按照如下规则转换,字符串中连续出现的字符转化为字符加上字符连续出现的次数,同一个字母的大小写认为是相等的,结果中输出小写。
s = input()
i = 0
LEN = len(s)
ans = []
s = s.lower()
while i < LEN:
c = s[i]
t = i
if i < LEN - 1 and s[i] == s[i + 1]:
while i < LEN - 1 and s[i] == s[i + 1]:
i += 1
i += 1
ans.append(c)
ans.append(str(i - t))
else:
ans.append(c)
ans.append("1")
i += 1
print(''.join(ans))
#include<stdio.h>
#include<string.h>
#define MAX_LEN 100
char a[128];
int main()
{
int i=0;
int len=0;
scanf("%s",a);
len = strlen(a);
if(len <= 0 || len > MAX_LEN)
{
return -1;
}
for(i=0;i<len;i++)
{
if(a[i] >= 'A' && a[i] <='Z')
{
a[i]+=32;
}
}
for(i=0;i<len;i++)
{
int j=i+1;
while(j<len && a[i] == a[j])
{
j++;
}
printf("%c%d",a[i],j-i);
i=j-1;
}
printf("\n");
return 0;
}//manfen