给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出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 关注
- 4348 浏览
添加回答
举报
0/150
提交
取消