题目:在一个字符串中找到第一个仅仅出现一次的字符。如输入abaccdeff,则输出b。 分析:这道题是2006年google的一道笔试题。
以下给我的解法,採用linkedhashmap的有序,就可以实现
private void getOne(String str){ LinkedHashMap<String, Object> linked=new LinkedHashMap<String, Object>(); for (char charstr : str.toCharArray()) { String strVal=String.valueOf(charstr); if(linked.containsKey(strVal)){// 假设包括该key,则直接移除 linked.remove(strVal); }else{ //假设没有则加入 linked.put(strVal, null); } } for (Iterator<String> it=linked.keySet().iterator();it.hasNext();){ System.out.println(it.next()); } }