在给定的一个字符串中,找到第一个唯一的字符,并返回它的下标
class Solution {
public int firstUniqChar(String s) {
// if(s == null || "".equals(s)) return -1;
// int res = -1;
// Map<Character,Integer> map = new HashMap<>();
// for(int i=0;i<s.length();i++){
// map.put(s.charAt(i),map.getOrDefault(s.charAt(i),0) + 1);
// }
// for(int i=0;i<s.length();i++){
// if(map.get(s.charAt(i)) == 1){
// res = i;
// break;
// }
// }
// return res;
int[] frequency = new int[26];
for(int i=0;i<s.length();i++){
frequency[s.charAt(i) - 'a']++;
}
for(int i=0;i<s.length();i++){
if(frequency[s.charAt(i) - 'a'] == 1)
return i;
}
return -1;
}
}