此算法仅供参考,小菜基本不懂高深的算法,只能用最朴实的思想去表达。
//找出字符串中第一个不重复的字符 // firstUniqueChar("vdctdvc"); --> t function firstUniqueChar(str){ var str = str || "", i = 0, k = "", _char = "", charMap = {}, result = {name: "",index: str.length}; for(i=0;i<str.length;i++){ _char = str.charAt(i); if(charMap[_char] != undefined){ charMap[_char] = -1; }else{ charMap[_char] = i; } } for(k in charMap){ if(charMap[k]<0){ continue; } if(result.index>charMap[k]){ result.index = charMap[k]; result.name = k; } } return result.name; }
小伙伴们如有更好的思路,还请告之一下,不胜感激