第一个只出现一次的字符

根据ascii码,A~Z:65~90;a~z:97~122

建立一个哈希表数组,索引为字符ascii码-65,值为出现的次数。

遍历两次字符串,第一次统计字符出现的次数,第二次找到第一个字符出现次数为1的字符。

 1 class Solution {
 2 public:
 3     int FirstNotRepeatingChar(string str) {
 4         if(str.size()==0) return -1;
 5         int table[58] = {0};
 6         for(int i=0;i<str.size();i++){
 7             table[str[i]-65]++;
 8         }
 9         for(int j=0;j<str.size();j++){
10             if(table[str[j]-65]==1) return j;
11         }
12         return -1;
13     }
14 };

 

posted @ 2019-07-11 17:04  Austin_anheqiao  阅读(160)  评论(0编辑  收藏  举报