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.
public int firstUniqChar(String s) {
int freq[] = new int[26];
for(int i=0;i<s.length();i++)
freq[s.charAt(i)-'a']++;
for(int i=0;i<s.length();i++)
if(freq[s.charAt(i)-'a']==1)
return i;
return -1;
}
总结:本来想用map做的,但是不能因为重复出现就删除某个Key因为key可能出现三次。还是老老实实统计频率,然后再遍历求index。