问题描述
Given a string, find the first non-repeating character in it and return it’s index. If it doesn’t exist, return -1.
Examples:
s = “leetcode” return 0.
s = “loveleetcode”, return 2. Note: You may assume the string contain only lowercase letters.
解决思路
用HashMap,不过HashMap还不太会…过两天学一下,然后来补充完。
问题解惑
代码
package leetcode;
import java.util.HashMap;
public class FirstUniqueCharaterinaString {
public int firstUniqChar(String s) {
HashMap<Character, Integer> cnt = new HashMap<>();
for (Character c:
s.toCharArray()) {
cnt.put(c, cnt.getOrDefault(c,0) + 1);
}
int n = s.length();
for (int i = 0; i < n; i++) {
if (cnt.get(s.charAt(i)) == 1) {
return i;
}
}
return -1;
}
}
小感想
**注意: **