此算法仅供参考,小菜基本不懂高深的算法,只能用最朴实的思想去表达。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
//找出字符串中第一个不重复的字符 // 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; } |