查找字符串中第一个不重复的字符

今天去恒生笔试的编程题,当时手写的时候貌似还写错了,回寝室重新实现还是简单的,可惜了。

查找一个字符串中第一个不重复的字符,

如输入"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 }



阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页