LeetCode

链接

387. First Unique Character in a String

题意

给定一个字符串(只有小写字母),返回其中第一个没有重复的字母的下标

思路

把这些字母转成数字存入数组,值为出现的次数。按照字符串的字母顺序遍历,当值为1时返回即可。

代码

Java :

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

思考

第二次遍历的时候千万不能按照数组下标来遍历

效率

Your runtime beats 70.90 % of java submissions.

原文地址:https://www.cnblogs.com/zyoung/p/6845552.html