字符串中的第一个唯一字符----java
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。
示例:
s = "leetcode"
返回 0
s = "loveleetcode"
返回 2
提示:你可以假定该字符串只包含小写字母。
作者:力扣 (LeetCode)
链接:https://leetcode-cn.com/leetbook/read/top-interview-questions-easy/xn5z8r/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
class Solution {
public int firstUniqChar(String s) {
int len = s.length();
int num[] = new int[26]; //记录频率数组
char res[] = s.toCharArray(); //把字符串转为数组
for(int i=0;i<len;i++){ //循环把对应字符的下标存入num数组中为计数
int count = res[i] - 'a';
num[count]++;
}
for(int j=0;j<len;j++){ //循环遍历第一个频率为1的元素,返回下标
if(num[res[j]-'a']==1){
return j;
}
}
return -1; //找不到则返回-1
}
}