35-第一个只出现一次的字符

来源:互联网 发布:河南软件 编辑:程序博客网 时间:2024/06/05 16:54

利用哈希表:

 int FirstNotRepeatingChar(string str)     {         if(str.length()<=0) return -1;int hashtable[256] = { 0 };int sub = 0;char res;for (int i = 0; i < str.length();i++){hashtable[str[i]]++;}for (int i = 0; i < str.length(); i++){if (hashtable[str[i]] == 1){return i;}}return -1;    }

用map

int FirstNotRepeatingChar(string str)     {         if(str.length()<=0) return -1;map<char, int> m;for (int i = 0; i < str.length(); i++){if (m.count(str[i])>=1){int times = m.count(str[i]);m[str[i]] = times + 1;}else{m.insert(make_pair(str[i], 1));} }for (int i = 0; i < str.length(); i++){if (m[str[i]] == 1){return i;}}return -1;    }


原创粉丝点击