【LeetCode】387. First Unique Character in a String

Difficulty:easy

 More:【目录】LeetCode Java实现

Description

https://leetcode.com/problems/first-unique-character-in-a-string/

Given a string, find the first non-repeating character in it and return it's index. If it doesn't exist, return -1.

Examples:

s = "leetcode"
return 0.

s = "loveleetcode",
return 2.

 

Note: You may assume the string contain only lowercase letters.

Intuition

Use HashMap( or int[256] ) to store the frequency of each character. 

 

Solution

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

  

Complexity

Time complexity : O(n)

Space complexity : O(1)

 

 

 More:【目录】LeetCode Java实现

 

posted @ 2019-10-10 10:21  华仔要长胖  阅读(212)  评论(0编辑  收藏  举报