问题描述:
在一个字符串中找到第一个只出现一次的字符。例如输入asdertrtdsaf,输出e。
分析:
最简单的方法是直接遍历,时间复杂度为O(n^2)。
进一步思考:
字符串中的字符,只有256种可能性,使用字符的为下标,扫描一遍,存储各个字符在字符串中的出现。第二次扫描字符串,查看每个字符在字符串中的出现次数,如果为1,输出即可。
代码实现:
// 17.cc #include #include #include using namespace std; char find_char(const char* str) { if (!str) return '