使用map记录他们出现的位置(如果只出现一次),取最小值即可。
import java.util.*;
import java.util.Map.Entry;///
public class Solution {
public int FirstNotRepeatingChar(String str) {
HashMap<Character,Integer>map=new HashMap<Character,Integer>();
int l=str.length();
for(int i=0;i<l;i++){
char c=str.charAt(i);
if(map.containsKey(c)){
map.put(c,100100);
}
else{
map.put(c,i);
}
}
int minn=100100;
for(Entry<Character,Integer>entry:map.entrySet()){
int x=entry.getValue();
if(x<minn){
minn=x;
}
}
if(minn==100100)
return -1;
return minn;
}
}