题目描述:
在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).(从0开始计数)
解题思路:
- 对字符串进行遍历,以key:value的形式存入对象中,当然字典也是可以的
- 遍历对象找到value为1的元素,使用indexOf查找返回索引
解题代码:
function FirstNotRepeatingChar(str){// write code hereif(str === '') return -1;let obj = {};for(let i = 0;i<str.length;i++) {if(!obj[str[i]]) {obj[str[i]] = 1;}else {obj[str[i]] = obj[str[i]] + 1;}}for(let k in obj) {if(obj[k] === 1) {return str.indexOf(k);}}return -1;}
