--- title: LC-387 description: First Unique Character in a String --- ## Examples | Input | Output | | ---------------- | ------ | | `"leetcode"` | `0` | | `"loveleetcode"` | `2` | | `"aabb"` | `-1` | ## Hints Constraints: • `1 <= s.length <= 10^5` • `s` consists of only lowercase English letters. Given a string `s`, find the first non-repeating character in it and return its index. If it does not exist, return `-1`. ## Solution ```js /** * @param {string} s * @return {number} */ var firstUniqChar = function (s) { // Default for Hammer const freq = {}; for (let c of s) freq[c] = (freq[c] || 0) + 1; // Problem Specific // Loop the ORIGINAL string — we want an index, so no sorting for (let i = 0; i < s.length; i++) { if (freq[s[i]] === 1) { return i; } } return -1; }; ```