题目:在一个字符串中找到第一个只出现一次的字符。如输入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()); } }
时间: 2024-10-08 09:55:11