1 #include <iostream>
2 #include <string.h>
3 using namespace std;
4 char findChar(const char *str)
5 {
6 int count[26] = {0};
7 int index[26] = {0};
8 unsigned int i;
9 int pos;
10 for(i = 0;i < strlen(str);i++)
11 {
12 count[str[i]-'a']++;//计数
13 if(index[str[i]-'a'] == 0)
14 {
15 index[str[i]-'a']=i;//标记第一次出现的位置,即当第二次出现的时候,index[]的值已经更新了
16 }
17 //cout<<str[i]<<"--->"<<index[str[i]-'a']<<endl;
18 }
19 pos = strlen(str);
20 for(i = 0;i < 26;i++)
21 {
22 if(count[i] == 1)
23 {
24 if(index[i] != -1 && index[i]< pos)
25 {
26 pos = index[i];
27 }
28 }
29 }
30 if(pos < strlen(str))
31 return str[pos];
32 }
33 int main()
34 {
35 char str[] = "iamsuperdemonandastudent";
36 cout<<findChar(str)<<endl;
37 }