Hash算法的思想:
样例:
输入“abaccdeff”, 输出b
算法思路:字符(char)是一个长度为8的数据类型,因此总共有256种可能。
每个字母根据ASCII码值作为数组的下标。数组中存储的是每个字符出现的次数。
char findOnceChar(char *str) {
char result = '\0';
int array[256];
for (int i = 0; i < 256; i++) {
array[i] = 0;
}
char *current = str;
while (*current != '\0') {
array[*current]++;
current++;
}
// 重新指向字符串头部
current = str;
// 遍历字母出现的次数
while (*current != '\0') {
if (array[*current] == 1) {
result = *current;
break;
}
current++;
}
return result;
}
网友评论