Welcome to Subscribe On Youtube
387. First Unique Character in a String
Description
Given a string s
, find the first non-repeating character in it and return its index. If it does not exist, return -1
.
Example 1:
Input: s = "leetcode" Output: 0
Example 2:
Input: s = "loveleetcode" Output: 2
Example 3:
Input: s = "aabb" Output: -1
Constraints:
1 <= s.length <= 105
s
consists of only lowercase English letters.
Solutions
-
class Solution { public int firstUniqChar(String s) { int[] cnt = new int[26]; int n = s.length(); for (int i = 0; i < n; ++i) { ++cnt[s.charAt(i) - 'a']; } for (int i = 0; i < n; ++i) { if (cnt[s.charAt(i) - 'a'] == 1) { return i; } } return -1; } }
-
class Solution { public: int firstUniqChar(string s) { int cnt[26]{}; for (char& c : s) { ++cnt[c - 'a']; } int n = s.size(); for (int i = 0; i < n; ++i) { if (cnt[s[i] - 'a'] == 1) { return i; } } return -1; } };
-
class Solution: def firstUniqChar(self, s: str) -> int: cnt = Counter(s) for i, c in enumerate(s): if cnt[c] == 1: return i return -1
-
func firstUniqChar(s string) int { cnt := [26]int{} for _, c := range s { cnt[c-'a']++ } for i, c := range s { if cnt[c-'a'] == 1 { return i } } return -1 }
-
function firstUniqChar(s: string): number { const cnt = new Array(26).fill(0); for (const c of s) { cnt[c.charCodeAt(0) - 97]++; } for (let i = 0; i < s.length; i++) { if (cnt[s.charCodeAt(i) - 97] === 1) { return i; } } return -1; }
-
/** * @param {string} s * @return {number} */ var firstUniqChar = function (s) { const cnt = new Array(26).fill(0); for (const c of s) { ++cnt[c.charCodeAt() - 'a'.charCodeAt()]; } for (let i = 0; i < s.length; ++i) { if (cnt[s[i].charCodeAt() - 'a'.charCodeAt()] === 1) { return i; } } return -1; };
-
class Solution { /** * @param String $s * @return Integer */ function firstUniqChar($s) { for ($i = 0; $i < strlen($s); $i++) { $hashtable[$s[$i]]++; } for ($i = 0; $i < strlen($s); $i++) { if ($hashtable[$s[$i]] == 1) { return $i; } } return -1; } }