1. 用map/哈希表记录
    2. 再遍历一遍,找出第一个cnt等于1的字符
    3. ‘0’ 48 ‘A’ 65 ‘a’ 97
    4. 存取所有字母需要58,大小写字母中间还隔了6个
    1. int FirstNotRepeatingChar(string str) {
    2. map<char, int> m;
    3. for(int i = 0;i < str.length();i++)m[str[i]]++;
    4. for(int i = 0;i < str.length();i++){
    5. if(m[str[i]] == 1)return i;
    6. }
    7. return -1;
    8. }
    9. int FirstNotRepeatingChar(string str) {
    10. vector<int> m(58, 0);
    11. for(char c : str){
    12. m[c - 'A']++;
    13. }
    14. for(int i = 0;i < str.length();i++){
    15. if(m[str[i]-'A'] == 1)return i;
    16. }
    17. return -1;
    18. }