387. 字符串中的第一个唯一字符
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。
案例:
s = “leetcode”
返回 0.
注意事项:您可以假定该字符串只包含小写字母。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/first-unique-character-in-a-string
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
思路:用一个哈希映射存储所有的元素,出现重复key,则该key的值++,最后遍历哈希映射中所有元素,找到值为1的元素,返回索引,如果没有值为1的元素,则返回-1
class Solution {
public int firstUniqChar(String s) {
HashMap<Character,Integer> map=new HashMap<>();
for(int i=0;i<s.length();i++)
{
map.put(s.charAt(i),map.getOrDefault(s.charAt(i),0)+1);
}
for(int j=0;j<s.length();j++)
{
if(map.get(s.charAt(j))==1)
{
return j;
}
}
return -1;
}
}