剑指offer 35---查找第一个只出现一次的字符

来源:互联网 发布:岳不群 知乎 编辑:程序博客网 时间:2024/06/16 14:22

查找第一个只出现一次的字符

//第一个只出现一次的字符   "abcdefghigkacdefg"char FirstRepete(char* str){if (str == NULL){return '\0';}//利用哈希表解决const int tablesize = 256;    //一个字符占一个字节,所以有256种情况unsigned int HashTable[tablesize];    //创建一个大小为256的整形数组,用来存放字符出现的次数for (unsigned int i = 0; i < tablesize; ++i)   //将哈希表初始化为0{HashTable[i] = 0;}char* p = str;while (*p != '\0'){HashTable[*(p)]++;    //给对应位置计数p++;}while (*str != '\0'){if (HashTable[*str] == 1){return *str;}++str;}return '\0';}int main(){char str[] = "abcdefghigkacdefg";char tty = FirstRepete(str);cout << "重复的字符为: " << tty << endl; system("pause");return 0;}



PS:

想查找第一个第几次出现的字符,改变次数即可。

阅读全文
1 1
原创粉丝点击