[Leetcode] 387. 字符串中的第一个唯一字符

题目描述:


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

案例:

s = "leetcode"
返回 0.

s = "loveleetcode",
返回 2.

 

注意事项:您可以假定该字符串只包含小写字母。

解题思路:

整体思路还是先统计然后查找。

第一步:

新建一个长度为26的数组,存放字母a-z出现的次数,然后遍历字符串统计出这些次数。

 

第二步:

我们的目标是找到第一个出现次数为1的字母,因此需要在遍历一遍字符串,每遍历一个字母就看一下数组中他的出现次数是不是1呀?如果是1的话,bingo,说明找到了。

代码实现(Java语言):

class Solution {
    public int firstUniqChar(String s) {
        if(s == "" || s == null)
            return -1;
        int[] record = new int[26];
        char[] ch = s.toCharArray();
        for(char c:ch){
            record[c - 'a']++;
        }
        for(int i=0;i


你可能感兴趣的:(leetcode字符串_简单)