/*
题目:
	求字符串第一个只出现一次的字符。
*/
/*
思路:
	使用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;
}

    

posted on 2019-12-17 19:17  笨宝宝  阅读(127)  评论(0编辑  收藏  举报