这道题有两种解法,一种是创建哈希表,另一种是直接利用JS的indexOf方法
function FirstNotRepeatingChar(str)
{
var table={}
for(var i=0;i<str.length;i++){
//创建哈希表
if(!table[str[i]]){
table[str[i]]=1
}
else{
table[str[i]]+=1
}
}
//找到再哈希表中存在次数为1的元素 利用string的indexOf()方法找到并返回
for(key in table){
if(table[key]===1){
return(str.indexOf(key))
}
}
return -1
}
function FirstNotRepeatingChar(str)
{
for(var i=0;i<str.length;i++){
//JS中indexOf()方法第一个参数是要查找的元素,第二个参数是要查找的起始位置 if((str.indexOf(str[i],i+1)===-1)&&str.indexOf(str[i])===i){
return i
}
}
return -1
}