字符串中的第一个唯一字符
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。
案例:
s = “leetcode”
返回 0.
s = “loveleetcode”,
返回 2.
注意事项:您可以假定该字符串只包含小写字母。
public static int firstUniqChar(String s) {
int length=s.length();
//判断字符串长度是否满足循环条件
if(length==0){
return -1;
}
if(length==1){
return 0;
}
//创建Hashmap来存储拆分的元素
HashMap<Character, Integer> map=new HashMap<>();
for(int i=0;i<length;i++){
Character now=s.charAt(i);
if(!map.containsKey(now)){
map.put(now, i);
}
else{
map.put(now, -1);
}
}
int min=length;
for(Character key: map.keySet()){
int now=map.get(key);
if(now!=-1){
if(now<min){
min=now;
}
}
}
if(min==length){
min=-1;
}
return min;
}