找第一个只出现一次的字符
题目描述
给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出no。
输入格式
一个字符串,长度小于100000。
输出格式
输出第一个仅出现一次的字符,若没有则输出no。
样例
样例输入
abcabd
样例输出
c
精髓:
此题需要用的桶排序。我们开一个数组来存储每一个字符出现的次数。
每遍历到一个字符,就把这个字符的数量加1。如果最终一个字符的数量是1的话,就说明它从始至终只出现了一次。又因为for循环我们是从前到后进行遍历,所以第一个遍历到的只出现了一次的字符就是整个数组中第一次只出现一次的字符。
参考代码:
#include<cstdio>
#include<cstring>