解题思路:该题利用一个集合存储遍历的数字,如何初始该集合中没有则加入,有的话则删除,最后集合里面的数字,即是所要求的。
Java代码实现:
public class Solution {
public int[] singleNumber(int[] nums) {
Set set=new HashSet();
for(int i=0;i<nums.length;i++){
if(!set.contains(nums[i])) set.add(nums[i]);
else set.remove(nums[i]);
}
int [] re=new int[set.size()];
Iterator<Integer> it=set.iterator();
int i=0;
while(it.hasNext()){
re[i++]=it.next();
}
//System.out.print(re);
return re;
}
}
原题地址:https://leetcode.com/problems/single-number-iii/
public class Solution {
public int[] singleNumber(int[] nums) {
Set set=new HashSet();
for(int i=0;i<nums.length;i++){
if(!set.contains(nums[i])) set.add(nums[i]);
else set.remove(nums[i]);
}
int [] re=new int[set.size()];
Iterator<Integer> it=set.iterator();
int i=0;
while(it.hasNext()){
re[i++]=it.next();
}
//System.out.print(re);
return re;
}
}