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

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

示例:

s = "leetcode"
返回 0

s = "loveleetcode"
返回 2

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

作者:力扣 (LeetCode)
链接:https://leetcode-cn.com/leetbook/read/top-interview-questions-easy/xn5z8r/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

class Solution {
    public int firstUniqChar(String s) {
        int len = s.length();
        int num[] = new int[26];    //记录频率数组
        char res[] = s.toCharArray();   //把字符串转为数组
        for(int i=0;i<len;i++){     //循环把对应字符的下标存入num数组中为计数
            int count = res[i] - 'a';
            num[count]++;
        }
        for(int j=0;j<len;j++){     //循环遍历第一个频率为1的元素,返回下标
            if(num[res[j]-'a']==1){
                return j;
            }
        }
        return -1;      //找不到则返回-1
    }
}
posted @ 2021-12-04 14:04  网抑云黑胶SVIP用户  阅读(54)  评论(0编辑  收藏  举报