字符串中的唯一字符就是字符出现次数为1的
思路:首先一次遍历,统计出每个字符的出现次数,再遍历字符,如果字符出现个数是1,则当前字符对应的小标就是要返回的值
public class Test387 {
public static void main(String[] args) {
System.out.println(firstUniqChar("loveleetcode"));
}
public static int firstUniqChar(String s) {
if (s == null || s.equals("")) {
return -1;
}
char[] chs = s.toCharArray();
Map<Character, Integer> countMap = new HashMap<>();
for (char ch : chs) {
if (countMap.containsKey(ch)) {
countMap.put(ch, countMap.get(ch) + 1);
} else {
countMap.put(ch, 1);
}
}
for (int i = 0; i < chs.length; i++) {
if (countMap.get(chs[i]) == 1) {
return i;
}
}
return -1;
}
}