[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;
};

猜你喜欢

转载自www.cnblogs.com/Answer1215/p/12037613.html