第一个只出现一次的字符
题目描述:
在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置,
如果没有则返回 -1(需要区分大小写).(从0开始计数)
问题分析:
遍历字符串,判断字符是否放在 对象res中,若不在,则加进去,同时 value=1,
若在,则对原来的值+1
遍历结束后,找到第一个value等于1的字符,然后在字符串中找到他的index索引
代码展示:
function FirstNotRepeatingChar(str)
{
//遍历字符串,判断字符是否放在 对象res中,若不在,则加进去,同时 value=1,
//若在,则对原来的值+1
//遍历结束后,找到第一个value等于1的字符,然后在字符串中找到他的index
if(str === "")
return -1;
var res = {};
for(let i=0;i<str.length;i++){
if(str.charAt(i) in res){
res[str.charAt(i)] += 1
}else{
res[str.charAt(i)] = 1;
}
}
for(let key in res){
if(res[key] === 1){
// console.log(key);
// console.log(str.indexOf(key));
return str.indexOf(key);
}
}
}