字符串转换

标题:字符串转换 | 时间限制: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


全部评论

相关推荐

如题,只有过一段小厂实习经历,秋招会很吃亏吗?
KarlAllen:我也没大厂实习。今年大厂又扩招实习生。不知道秋招要怎么办了
点赞 评论 收藏
分享
04-27 08:59
常州大学 Java
牛客139242382号:《两门以上汇编语言》
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务