- LeetCode.387字符串中的第一个唯一字符
- [刷题防痴呆] 0387 - 字符串中的第一个唯一字符 (Fir
- [LeetCode]First Unique Character
- 2018-10-19 First Unique Characte
- 209. First Unique Character in a
- Unique/Duplicate String
- First Unique Character in a Stri
- 387 First Unique Character in a
- Leetcode PHP题解--D100 387. First
- LeetCode 387. First Unique Chara
题目:
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.
这道题看似简单,其实还是容易碰到一些平时不在意的用法的。晚上熄灯前我来补上解题过程~~~
思路:
此题思路和前面勒索信那题的思路有相同的地方,都是利用了map
不过这题在leetcode上不能用,主要好像leetcode没有Entry。经过测试还是可以使用的。具体不用entry的方法我会想办法~
代码:
public int firstUniqChar(String s) {
Map<Character, Integer> map = new LinkedHashMap<>(s.length());
for (char c : s.toCharArray()) {
if (map.containsKey(c)) {
map.put(c, map.get(c)+1);
}else {
map.put(c, 1);
}
}
for (Entry<Character, Integer> entry : map.entrySet()) {
if (entry.getValue() == 1) {
return s.indexOf(entry.getKey());
}
}
return 0;
}
网友评论