[Algorithm] 387. First Unique Character in a String

Given a string, find the first non-repeating character in it and return it's index. If it doesn't exist, return -1.

Examples:

s = "leetcode"
return 0.

s = "loveleetcode",
return 2.

 

Note: You may assume the string contain only lowercase letters.

 

/**
 * @param {string} s
 * @return {number}
 */


var firstUniqChar = function(s) {
    
    if (!s.length) {
        return -1;
    }
    
    let hashed = {};
    for (let i = 0; i < s.length; i++) {
        const val = s[i];
        if (val in hashed) {
            hashed[val] = -1;
        } else {
            hashed[val] = i;
        }
    }
    
    const result = Object.values(hashed).find(e => e >= 0);
    
    return result === undefined ? -1: result;
};

 

posted @ 2019-12-13 22:36  Zhentiw  阅读(171)  评论(0编辑  收藏  举报