字符串中的第一个唯一字符

24 阅读1分钟

社招 校招 实习面试题

题目条件

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

image.png

分析

image.png

完整代码

class Solution {
    public int firstUniqChar(String s) {
    
        int [] count = new int[26];//定义一个空数组
        
        for (int i = 0;i < s.length();i++){//循环计算每个数出现的次数
            char ch = s.charAt(i);
            count[ch-'a']++;
        }

        for (int i = 0;i < s.length();i++){//找到第一个出现一次的数
            char ch =s.charAt(i);
            if(count[ch-'a'] == 1) {
                return i;//返回索引
            }
        }
        return -1;
    }
}