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实现