题目描述
在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置
思路:
用数组建一个哈希表,key 是字符,val是次数。
第一次遍历,统计次数
第二次遍历,把次数为1的下标输出。
1 public class Solution { 2 public int FirstNotRepeatingChar(String str) { 3 int[] cnt = new int[256]; 4 if(str.length()<0) return -1; 5 for(int i = 0;i<str.length();i++){ 6 cnt[str.charAt(i)-‘A‘]++; 7 } 8 for(int i = 0;i<str.length();i++){ 9 if(cnt[str.charAt(i)-‘A‘]==1) 10 return i; 11 } 12 return -1; 13 } 14 }