这个题我刚看到的时候,就想到使用HashMap,因为HashMap中的key值是不能重复的,而且可以通过比较key值来改变key所对应的value的值.实现代码如下:
public static int singleNumber (int[] nums) {
HashMap<Integer, Integer> m = new HashMap<Integer,Integer>();
for(int i = 0; i < nums.length; i ++) {
if(m.containsKey(nums[i])) m.put(nums[i], 2) ;
else m.put(nums[i] , 1);
}
for(Map.Entry<Integer,Integer> entry:m.entrySet()) {
if(entry.getValue() == 1) return entry.getKey();
}
return -1;
}
希望大家有更好的方法可以@我,让我同时学习学习