#### [387. 字符串中的第一个唯一字符](https://leetcode-cn.com/problems/first-unique-character-in-a-string/)

难度简单360收藏分享切换为英文接收动态反馈

给定一个字符串，找到它的第一个不重复的字符，并返回它的索引。如果不存在，则返回 -1。

 

**示例：**

```
s = "leetcode"
返回 0

s = "loveleetcode"
返回 2
```

 

**提示：**你可以假定该字符串只包含小写字母。

#### 解法

```java
class Solution {
    public int firstUniqChar(String s) {
        if (s == null || s.length() == 0) return -1;
        Map<Character, Integer> map = new HashMap<>();
        for (int i = 0; i < s.length(); i++) {
            char c =  s.charAt(i);
            Integer count = map.getOrDefault(c, 0) + 1;
            map.put(c, count);
        }
        for (int i = 0; i < s.length(); i++) {
            if (map.get(s.charAt(i)) == 1) return i;
        }
        return -1;
    }
}

class Solution {
    public int firstUniqChar(String s) {
        int arr[] = new int[26];//26 个字母
        int length = s.length();
        for(int i = 0; i < length; i++){
            arr[s.charAt(i)- 'a']++;
        }
        for(int i = 0; i < length; i++){
            if(arr[s.charAt(i) - 'a'] == 1) return i; 
        }
        return -1;
    }
}
```

