题目
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。
示例1:
1 | s = "leetcode" |
示例2:
1 | 输入: s = "loveleetcode" |
示例3:
1 | 输入: s = "aabb" |
提示:
1 <= s.length <= 105
s
只包含小写字母
解法
解法一:
采用数组或者哈希表判断第一个唯一字符。
第一次遍历,用数组或者哈希表保存每个字符出现的次数;
第二次遍历,判断数组中每个字符的次数是否为1,1的话就是第一个出现的唯一字符,否则,继续遍历。
Java-数组
1 | public int firstUniqChar(String s) { |
Java-哈希表
1 | int reverse(int x) { |