Leetcode刷题100天—387. 字符串中的第一个唯一字符(字符串)—day27
Posted 神的孩子都在歌唱
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode刷题100天—387. 字符串中的第一个唯一字符(字符串)—day27相关的知识,希望对你有一定的参考价值。
前言:
作者:神的孩子在歌唱
大家好,我叫运智
387. 字符串中的第一个唯一字符
难度简单431收藏分享切换为英文接收动态反馈
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。
示例:
s = "leetcode"
返回 0
s = "loveleetcode"
返回 2
**提示:**你可以假定该字符串只包含小写字母。
package 字符串;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
/*
* https://leetcode-cn.com/problems/first-unique-character-in-a-string/
* 找到它的第一个不重复的字符
*/
public class _387_字符串中的第一个唯一字符 {
// 第一种解法:哈希表
public int firstUniqChar(String s) {
// 设置哈希表
HashMap<Character, Integer> map=new HashMap<>();
// 通过for循环将字符存入集合中
for(int i=0;i<s.length();i++) {
// 通过哈希表统计每个字符出现的频数
map.put(s.charAt(i), map.getOrDefault(s.charAt(i), 0)+1);
}
// 在通过for循环遍历找到第一个值为1的数
for(int i=0 ;i<s.length();i++) {
if (map.get(s.charAt(i))==1) {
return i;
}
}
return -1;
}
}
本人csdn博客:https://blog.csdn.net/weixin_46654114
转载说明:跟我说明,务必注明来源,附带本人博客连接。
以上是关于Leetcode刷题100天—387. 字符串中的第一个唯一字符(字符串)—day27的主要内容,如果未能解决你的问题,请参考以下文章
Leetcode刷题100天—434. 字符串中的单词数( 字符串)—day60
Leetcode刷题100天—434. 字符串中的单词数( 字符串)—day60
Leetcode刷题100天—5855. 找出数组中的第 K 大整数(优先队列)—day22
Leetcode刷题100天—5855. 找出数组中的第 K 大整数(优先队列)—day22