Leetcode/字符串/字符串中的第一个唯一字符

题目:

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

 

示例:

s = "leetcode"
返回 0

s = "loveleetcode"
返回 2
 

提示:你可以假定该字符串只包含小写字母。

补充知识:

   1。字符串中的charAt()方法能将字符串中的字符分割。

   2。HashMap中的方法getOrDefault(key,default)获取指定 key 对应对 value,如果找不到 key ,则返回设置的默认值.

   3。字符串中的长度方法String.length();

解答

class Solution {
    public int firstUniqChar(String s) {
        Map<Character,Integer> only=new HashMap<Character,Integer>();
        for(int i=0;i<s.length();i++){
            char x=s.charAt(i);
            only.put(x,only.getOrDefault(x,0)+1);
        }
        for(int i=0;i<s.length();i++){
            if(only.get(s.charAt(i))==1){
                return i;
            }
        }
        return -1;
    }
}

 

posted @ 2021-03-09 18:18  是徐洋洋呀  阅读(55)  评论(0)    收藏  举报