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

Leetcode刷题100天—344. 反转字符串(双指针)—day20

Leetcode刷题100天—344. 反转字符串(双指针)—day20