【LeetCode】Easy | 387. 字符串中的第一个唯一字符

【LeetCode】Easy | 387. 字符串中的第一个唯一字符 https://leetcode.cn/problems/first-unique-character-in-a-string//** * 找到字符串中第一个只出现一次的字符的下标若不存在返回 -1。 * * 思路 * 1) 用长度为 26 的计数数组统计每个小写字母出现次数 * 2) 再从左到右扫描字符串遇到出现次数为 1 的字符就返回其下标。 * * 时间复杂度O(n)两次遍历字符串 * 空间复杂度O(1)固定 26 大小数组 * * 说明仅适用于全为小写字母 a~z 的字符串。 */classSolution{publicintfirstUniqChar(Strings){int[]anewint[26];// 统计每个小写字母出现次数a[0] 对应 aa[25] 对应 z// 第一次遍历计数for(inti0;is.length();i){chartmps.charAt(i);a[tmp-a];}// 第二次遍历找到第一个出现次数为 1 的字符for(inti0;is.length();i){if(a[s.charAt(i)-a]1){returni;// 返回下标}}return-1;// 没有只出现一次的字符}}