import java.util.HashMap; import java.util.Map;

public class Solution { public int FirstNotRepeatingChar(String str) { int num = -1; Map<Character, Integer> map = new HashMap<>();

    for (int i = 0; i < str.length(); i++) {
    	char c = str.charAt(i);
		if(map.keySet().contains(c)) {//如果map中存在这个字符,就将其置为-1
			map.replace(c, -1);
		}else {//如果不存在,就将索引放进去
			map.put(c, i);
		}
	}
    for (Integer value : map.values()) {//由于map是一个有序数列,因此把values除-1外最小的返回
		if(value != -1) {
			if(num == -1) num = value;
			else if(num > value) num = value;
		}
	}
    
    return num;
}

}