import java.util.*;
public class Solution {
// 找到第一个只出现一次的字符,并返回它的位置
// 重点:只出现一次,第一个,所以需要整个遍历字符串
// 还需要有序
public int FirstNotRepeatingChar (String str) {
// write code here
// 第一个map记录索引
HashMap<Character,Integer> map = new HashMap<>();
// 第二个map记录次数
HashMap<Character,Integer> map_count = new HashMap<>();
int len = str.length();
for(int i = 0; i < len; i++){
char c = str.charAt(i);
if(map.containsKey(c)){
map_count.put(c,map_count.get(c) + 1);
}else{
map.put(c,i);
map_count.put(c,1);
}
}
for(int i = 0;i<len;i++){
if(map_count.get(str.charAt(i)) == 1){
return map.get(str.charAt(i));
}
}
return -1;
}
}