1、原题:
//* 给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出no。 //【输入】一个字符串,长度小于100000 //【输出】输出仅出现一次的字符,若没有则输出no。 //【输入样例】abcabd //【输出样例】c
方法一:通俗易懂
2、变式:删去第一个,即输出所有出现一次的字符
方法一:这种方法可以推广应用到其他统计的问题上,实用性很强!!!例如变式3数字字符也是用到这种方法,不过,不足之处是只能输出所有,而不能只输出第一个
?方法二:
3、变式:统计数字
/* 给定一个只包含数字的字符串,请你找到仅出现一次的字符。如果没有,输出no。 //【输入】一个字符串,长度小于100000 //【输出】输出仅出现一次的字符,若没有则输出no。 //【输入样例】12312 //【输出样例】3 //}*/
?
想法:用数组来统计这种方法:因为有26个字母,所以 int count[26];
????????????????????????????????????????????????? 因为有10个数字,所以int count[10];
????????? 将字符转化成数字下标,最后输出的时候,再由数字转化为字符
????????? 当是字母的时候,通过加减'a'来实现转化
????????? 当时数字的时候,通过加减'0'来实现转化
?
|