您的位置:首页 > 其它

[华为]找出字符串中第一个只出现一次的字符

2017-04-05 15:38 148 查看
[b]输入描述:[/b]
输入一个非空字符串[b]输出描述:[/b]
输出第一个只出现一次的字符,如果不存在输出-1[b]输入例子:[/b]
asdfasdfo
[b]输出例子:[/b]
o
1 //用哈希统计词频
2 #include<iostream>
3 #include<string>
4 using namespace std;
5 int hasTable[256];
6
7 int main()
8 {
9     string s;
10     while(cin>>s)
11     {
12         bool flag = false;
13         for(int i=0;i<256;++i)
14             hasTable[i]=0;
15         for(int i=0;i<s.size();++i)
16             hasTable[s[i]]++;
17
18         for(int i=0;!flag && i<s.size();++i)
19         {
20             if(hasTable[s[i]] == 1)
21             {
22                 cout<<s[i]<<endl;
23                 flag = true;
24                 break;
25             }
26         }
27
28         if(!flag)
29             cout<<-1<<endl;
30     }
31     return 0;
32 }

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: