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

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

给定一个字符串 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

相关文章
|
运维
【10月更文挑战赛】获奖名单出炉,快来看看谁是十月创作明星!
【10月更文挑战赛】获奖名单出炉,快来看看谁是十月创作明星!
365 9
|
弹性计算 负载均衡 应用服务中间件
slb健康检查域名配置
slb健康检查域名配置
238 7
|
JavaScript 前端开发 开发者
TypeScript 入门指南:类型注解、接口和泛型
在现代前端开发中,TypeScript 已经成为越来越受欢迎的选择。TypeScript 是 JavaScript 的超集,它为 JavaScript 提供了类型系统和更多功能,帮助开发者在编码阶段发现潜在的错误,提高代码质量和可维护性。本文将深入探讨 TypeScript 中的核心特性:类型注解、接口和泛型。我们会从基础概念出发,循序渐进地讲解,同时提供丰富的代码示例和注释。
547 0
|
SDN Python
轮廓的近似多边形
【6月更文挑战第11天】轮廓的近似多边形。
242 4
|
机器学习/深度学习 数据采集 监控
基于机器学习的糖尿病风险预警分析系统
基于机器学习的糖尿病风险预警分析系统
334 1
|
监控 Unix Linux
windows和linux实时监控文本内容的命令
windows和linux实时监控文本内容的命令
601 1
|
机器学习/深度学习 TensorFlow 算法框架/工具
|
JavaScript 小程序 Java
基于SSM框架的购物商城系统设计与实现
基于SSM框架的购物商城系统设计与实现
545 2
|
Kubernetes 网络协议 Ubuntu
Cilium 系列 -9- 主机路由切换为基于 BPF 的模式
Cilium 系列 -9- 主机路由切换为基于 BPF 的模式
|
机器学习/深度学习 算法 固态存储
【计算机视觉】目标检测中Faster R-CNN、R-FCN、YOLO、SSD等算法的讲解(图文解释 超详细必看)
【计算机视觉】目标检测中Faster R-CNN、R-FCN、YOLO、SSD等算法的讲解(图文解释 超详细必看)
917 0