字符串中的第一个唯一字符 java hashmap

给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。

示例:
s = “leetcode”
返回 0

s = “loveleetcode”
返回 2

class Solution {
    public int firstUniqChar(String s) {
    	//用hashmap解决,把字符串中每个字符出现的次数保存在一个散列表中
        HashMap<Character,Integer> code = new HashMap<Character,Integer>();
        for(int i=0;i<s.length();i++){
            char ch=s.charAt(i);
            //将字符和每个字符出现的次数保存在散列表中
            code.put(ch,code.getOrDefault(ch,0)+1);
        }
        for(int i=0;i<s.length();i++){
        	//如果字符所映射的值也就是出现的次数等于1 
        	//则找到,并且返回下标
            if(code.get(s.charAt(i))==1){
                return i;
            } 
        }
        return -1;
    }
}

你可能感兴趣的:(Java,java,hashmap)