返回两个数组的交
注意事项
- Each element in the result must be unique.
- The result can be in any order.
样例
nums1 = [1, 2, 2, 1]
, nums2 = [2, 2]
, 返回 [2]
.
public class Solution {
/**
* @param nums1 an integer array
* @param nums2 an integer array
* @return an integer array
*/
public int[] intersection(int[] nums1, int[] nums2) {
// Write your code here
Set<Integer> set=new HashSet<Integer>();
Set<Integer> set1=new HashSet<Integer>();
Set<Integer> set2=new HashSet<Integer>();
for(int i=0;i<nums1.length;i++){
set1.add(nums1[i]);
}
for(int i=0;i<nums2.length;i++){
set2.add(nums2[i]);
}
Iterator<Integer> it1=set1.iterator();
while(it1.hasNext()){
int temp=it1.next();
if(set2.contains(temp)){
set.add(temp);
set2.remove(temp);
}
}
int []result=new int[set.size()];
Iterator<Integer> it=set.iterator();
int index=0;
while(it.hasNext()){
result[index++]=it.next();
}
return result;
}
}