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