给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出no 。输入: 一个字符串,长度小于 100000 。 输出:
输出第一个仅出现一次的字符,若没有则输出 no
1 回答
asd8532
TA贡献143条经验 获得超187个赞
扫描两次字符串就可以了.
第一趟给所有字母计数.
第二趟找第一个次数为1的字母
int main()
{
char c[]="abaccdeff";
int bit_map[26]={0};
int i=0;
for(;i<strlen(c);++i)
bit_map[c[i]-'a']++;
for(i=0;i<strlen(c);++i)
{
if(bit_map[c[i]-'a']==1)
{
printf(" %c ",c[i]);
break;
}
}
if(i>=strlen(c))
printf("No ele to the rule\n");
return 0;
}- 1 回答
- 0 关注
- 4447 浏览
添加回答
举报
0/150
提交
取消
