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

简介: 字符串中的第一个唯一字符

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

示例 1:

输入: s = "leetcode"
输出: 0

示例 2:

输入: s = "loveleetcode"
输出: 2

示例 3:

输入: s = "aabb"
输出: -1

1.HashMap解法

class Solution {
    public int firstUniqChar(String s) {
        char[] chars=s.toCharArray();
       Map<Character,Integer> map=new HashMap<>();
        for(char i:chars){
            map.put(i,map.getOrDefault(i,0)+1);//没出现过的就返回0出现过的就返回ch对应的值
        }
        for(int j=0;j<s.length();j++){
             if (map.get(chars[j]) == 1) {//值为1的就是出现一次的
                return j;
            }
        }
        return -1;
    }
}

+7.png

目录
相关文章
|
索引
【LeetCode】917. 仅仅反转字母、387. 字符串中的第一个唯一字符
目录 917. 仅仅反转字母 387. 字符串中的第一个唯一字符
48 0
|
6月前
|
存储 索引
LeetCode 387. 字符串中的第一个唯一字符
LeetCode 387. 字符串中的第一个唯一字符
37 0
|
3月前
|
存储 Java 数据处理
|
6月前
|
机器学习/深度学习 索引
【力扣】387. 字符串中的第一个唯一字符
【力扣】387. 字符串中的第一个唯一字符
|
6月前
|
存储 编译器 Linux
标准库中的string类(中)+仅仅反转字母+字符串中的第一个唯一字符+字符串相加——“C++”“Leetcode每日一题”
标准库中的string类(中)+仅仅反转字母+字符串中的第一个唯一字符+字符串相加——“C++”“Leetcode每日一题”
|
6月前
|
算法
leetcode:387. 字符串中的第一个唯一字符
leetcode:387. 字符串中的第一个唯一字符
27 0
|
6月前
|
C++ 索引
字符串中的第一个唯一字符(C++)
字符串中的第一个唯一字符(C++)
60 0
题目:下列给定程序中函数fun的功能是:从p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。
题目:下列给定程序中函数fun的功能是:从p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。
字符串转数组、数组转字符串、给第一个单词色值
字符串转数组、数组转字符串、给第一个单词色值
剑指offer 51. 字符串中第一个只出现一次的字符
剑指offer 51. 字符串中第一个只出现一次的字符
66 0