主要就是用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 ' ';
}