public:
    int FirstNotRepeatingChar(string str) {
        int flag=-1;
        //使用c++中的hash map实现
        unordered_map<char, int> mp;
        //遍历字符串
        for(const char ch:str){
            ++mp[ch];
        }
        
        for(int i=0;i<=str.length();i++){
            if(mp[str[i]]==1){
                flag=i;
                //保证所获取的是第一次出现的字符
                break;
            }
        }
        
        return flag;
        
    }
};