数据结构(四十一)
学习数据结构与算法过程中的心得体会以及知识点的整理,方便我自己查找,也希望可以和大家一起交流。
—— 第一个只出现一次的字符 ——
1.题目描述
在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。
示例:
示例1:
输入:
s = "abaccdeff"
输出:
'b'
示例 2:
输入:
s = ""
输出:
' '
2.代码
c
#define ARRAY_SIZE_MAX 26
char firstUniqChar(char* s){
int dic[ARRAY_SIZE_MAX]={0};
int num,len = strlen(s);
for(int i = 0;i < len;i++){
num = s[i] - 97;
dic[num] = dic[num] + 1;
}
for(int i = 0;i < len;i++){
num = s[i] - 97;
if(dic[num] == 1){
return s[i];
}
}
return 32;
}
这次采用了简单的哈希表的思想。不知道大家发现没有,这道题如果没有发现只出现一次的数据,是需要返回空格而不是空,所以会有return 32;
这样的代码,可以根据需要修改。