Este algoritmo é apenas para referência. O Xiaocai basicamente não entende algoritmos avançados e só pode expressá -lo com as idéias mais simples.
A cópia do código é a seguinte:
// Descubra o primeiro personagem não repetido na string
// FirstUniCechar ("VDCTDVC"); -> T.
Função FirstUniqueChar (STR) {
var str = str || "",
i = 0,
k = "",
_char = "",
charmap = {},
resultado = {nome: "", índice: str.length};
para (i = 0; i <str.Length; i ++) {
_char = str.Charat (i);
if (charmap [_char]! = indefinido) {
charmap [_char] = -1;
}outro{
charmap [_char] = i;
}
}
para (k em charmap) {
if (charmap [k] <0) {
continuar;
}
if (resultado.index> charmap [k]) {
resultado.index = charmap [k];
resultado.name = k;
}
}
return resultado.name;
}
Se você tiver alguma idéia melhor, me dê uma mensagem. Estou muito grato.