Loading

剑指offer[34]——第一个只出现一次的字符

题目描述

在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).

这道题目我的思路很简单,就是遍历字符串,然后判断遍历到的字母是否在它之前和之后的字符串出现过,没有的话就直接返回,有的话就继续计算。

function FirstNotRepeatingChar(str)
{
    const _length = str.length;
    if(_length==0){return -1;}
    let temp = [];
    for(let i=0; i<_length; i++){
        if(!temp.includes(str[i]) && str.slice(i+1, _length).indexOf(str[i])<0){
            return i;
        }
        temp.push(str[i]);
    }
    return -1;
}
posted @ 2020-03-24 22:19  Jacob是我了  阅读(100)  评论(0编辑  收藏  举报