字符串中第一个只出现一次的字符索引
class Solution {
public int firstUniqChar(String s) {
int[] counts=new int[26];
for(int i=0;i<s.length();i++){
int index=s.charAt(i)-'a';
counts[index]++;
}
for(int i=0;i<s.length();i++){
int index=s.charAt(i)-'a';
int count=counts[index];
if(count==1)
return i;
}
return -1;
}
}
/**
* @param {string} s
* @return {number}
*/
var firstUniqChar = function(s) {
var counts=new Array(26);
//js必须将所有的值初始化为0
for(var i=0;i<counts.length;i++){
counts[i]=0;
}
for(var i=0;i<s.length;i++){
var str='a';
//注意js没有字符类型,都是字符串类型,要转换成ascll码的减法,必须使用如下方法
var index=s.charCodeAt(i)-str.charCodeAt();
counts[index]++;
}
for(var i=0;i<s.length;i++){
var index=s.charCodeAt(i)-str.charCodeAt();
var count=counts[index];
if(count===1)
return i;
}
return -1;
};