主要就是用HashMap的特性,还有方法;
将字符串中的数组存入HashMap的key中,出现一次的vul为false,出现多次的true
再在字符串中找到第一个为true的字符
public char firstUniqChar(String s) {
if (s == ""){
return ' ';
}
/** 先将字符串中的数组存入HashMap的key中,出现一次的vul为false,出现多次的true*/
HashMap<Character, Boolean> hashMap = new HashMap<Character, Boolean>();
int length = s.length();
for (int i = 0; i <= length-1; i++) {
hashMap.put(s.charAt(i), hashMap.containsKey(s.charAt(i)));
}
/** 再在字符串中找到第一个为true的字符*/
for (int i = 0; i <= length-1; i++) {
if (!hashMap.get(s.charAt(i))) {
return s.charAt(i);
}
}
return ' ';
}
本文介绍了一种利用HashMap来高效查找字符串中首次出现重复字符的方法。通过遍历字符串并将字符作为键存入HashMap,记录每个字符是否重复。再次遍历字符串以定位首个重复出现的字符。

被折叠的 条评论
为什么被折叠?



