在一个字符串中找到第一个只出现一次的字符,c语言
时间: 2023-08-26 18:09:24 浏览: 132
可以使用哈希表来解决这个问题。具体的思路是:
1. 声明一个长度为 256 的数组 hashTable,用于存储每个字符出现的次数。
2. 遍历字符串,将每个字符出现的次数存储到 hashTable 数组中。
3. 再次遍历字符串,查找第一个出现次数为 1 的字符。
以下是示例代码:
```c
#include <stdio.h>
#include <string.h>
char firstUniqueChar(char *str) {
int hashTable[256] = {0}; // 初始化哈希表数组
// 第一次遍历字符串,统计每个字符出现的次数
for (int i = 0; i < strlen(str); i++) {
hashTable[str[i]]++;
}
// 第二次遍历字符串,查找第一个出现次数为 1 的字符
for (int i = 0; i < strlen(str); i++) {
if (hashTable[str[i]] == 1) {
return str[i];
}
}
return '\0'; // 没有找到符合条件的字符,返回空字符
}
int main() {
char str[] = "abaccdeff";
char result = firstUniqueChar(str);
printf("The first unique character is %c", result);
return 0;
}
```
阅读全文