387. 字符串中的第一个唯一字符
描述 :
给定一个字符串 s ,找到 它的第一个不重复的字符,并返回它的索引 。如果不存在,则返回 -1 。
题目 :
387. 字符串中的第一个唯一字符
分析 :
我们可以对字符串进行两次遍历,在第一次遍历时,我们使用哈希映射统计出字符串中每个字符出现的次数。在第二次遍历时,我们只要遍历到了一个只出现一次的字符,那么就返回它的索引,否则在遍历结束后返回 -1。
解析 :
class Solution {public int firstUniqChar(String s) {if(s.length() == 1){return 0;}Map<Character,Integer> map = new HashMap<>();for(int i = 0;i < s.length() ; i++){char c = s.charAt(i);map.put(c,map.getOrDefault(c,0) + 1);}for(int i = 0; i < s.length();i++ ){char c = s.charAt(i);if(map.get(c) == 1){return i;}}return -1;}
}
这期就到这里 , 下期见!