剑指offer-面试题50-第一个只出现一次的字符-哈希表
Posted buaazhhx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offer-面试题50-第一个只出现一次的字符-哈希表相关的知识,希望对你有一定的参考价值。
/* 题目: 求字符串第一个只出现一次的字符。 */ /* 思路: 使用map遍历两次,第一次计数,第二次找到计数为1的第一个字符。 */ #include<iostream> #include<cstring> #include<vector> #include<algorithm> #include<map> using namespace std; char FirstNotRepeatingChar(string str){ map<char,int> myMap; int len = str.size(); if(len == 0) throw("invalid parameter"); for(int i = 0; i < len; i++){ if(myMap.count(str[i])){ myMap[str[i]]++; }else{ myMap[str[i]] = 1; } } for(int i = 0; i < len; i++){ if(myMap[str[i]] == 1){ return str[i]; } } } int main(){ string str="abaccdeff"; cout<<FirstNotRepeatingChar(str); return 0; }
以上是关于剑指offer-面试题50-第一个只出现一次的字符-哈希表的主要内容,如果未能解决你的问题,请参考以下文章