题解 | #找出字符串中第一个只出现一次的字符# 3ms题解
找出字符串中第一个只出现一次的字符
https://www.nowcoder.com/practice/e896d0f82f1246a3aa7b232ce38029d4
#include <stdio.h>
#include <string.h>
struct stu{
char c;
int tim;
};
int main() {
struct stu st[100000];
char a[10000]={'\0'};
int count[1000] = {0};
scanf("%s",a);
int cnt;
int tim_cnt = 0;;
for(int i=0;i<strlen(a);i++){
cnt = a[i];
int cnt_stu = count[cnt];
if(st[cnt_stu].tim == 0) {
st[++tim_cnt].c = a[i];
st[tim_cnt].tim = 1;
count[cnt] = tim_cnt;
} else {
(st[cnt_stu].tim)++;
}
}
for(int i=1;i<=tim_cnt;++i){
if(st[i].tim == 1) {
printf("%c", st[i].c);
return 0;
}
}
printf("-1");
return 0;
}
#3ms#