题目:在字符串中找出第一个只出现一次的字符。如输入“abaccdeff”,则输出'b'。
思路:用哈希表记录每个char出现的次数。顺序哈希表用 LinkedHashMap。
public char FirstNotRepeatChar(String str) {
HashMap<Character, Integer> map = new LinkedHashMap<Character, Integer>();
char[] cs = str.toCharArray();
for (int i=0; i<cs.length; i++) {
if (map.containsKey(cs[i]))
map.put(cs[i], map.get(cs[i])+1);
else
map.put(cs[i], 1);
}
for (Entry<Character, Integer> entry : map.entrySet()) {
if (entry.getValue() == 1)
return entry.getKey();
}
return '\0';
}