字符串中的第一個唯一字符(LeetCode第387題)java實現

一、題目描述

給定一個字符串,找到它的第一個不重複的字符,並返回它的索引。如果不存在,則返回 -1。

案例:

s = "leetcode"
返回 0.

s = "loveleetcode",
返回 2.
 

注意事項:您可以假定該字符串只包含小寫字母。

二、解題思路

該題爲簡單題,思路就是用 哈希表來記錄每個字母出現的次數,然後找出第一次出現次數爲1的字符就是第一個不重複的字符。

哈希表可以用 map或者數組,時間複雜度爲O(n),空間複雜度爲O(n),直接看代碼即可。

三、可運行java代碼

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章