哈希表继续练习,上链接
https://leetcode-cn.com/problems/intersection-of-two-arrays/
class Solution {
public int[] intersection(int[] nums1, int[] nums2) {
Set<Integer> set1 = new HashSet<Integer>();
Set<Integer> resSet = new HashSet<Integer>();
for(int i:nums1){
if(!set1.contains(i)){
set1.add(i);
}
}
for(int i:nums2){
if(set1.contains(i)){
resSet.add(i);
}
}
int[] resArr = new int[resSet.size()];
int index = 0;
for(int i:resSet){
resArr[index++] = i;
}
return resArr;
}
}
思路就是先把第一个数组的唯一元素放入set1,然后第二个数组如果有元素与set1中相等,就放入resSet中,resSet就是交集,再hashSet中的元素放进数组里返回就行了。