今天去恒生笔试的编程题,当时手写的时候貌似还写错了,回寝室重新实现还是简单的,可惜了。
查找一个字符串中第一个不重复的字符,
如输入"aacbccdeff";
输出 ‘b’;
1 #include <iostream>
2 #include <cstring>
3 using namespace std;
4
5 char chFind(const string s) {
6 const string str = s;
7 for (int i = 0;i < str.size();++i)
8 if (s.find(str[i]) == s.rfind(str[i])) // 查找当前字符第一个位置和最后一个位置,如果相等则说明该字符唯一,直接返回即可
9 return str[i];
10 return 0;
11 }
12
13
14 int main(void) {
15 string str = "aacbccdeff";
16 cout << chFind(str) << endl;
17 cin >> str;
18 cout << chFind(str) << endl;
19 }