版權聲明:本文為博主原創(chuàng)文章肌割,未經(jīng)博主允許不得轉(zhuǎn)載屎蜓。
難度:容易
要求:
返回兩個數(shù)組的交
樣例
nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2].
思路:
/**
* @param nums1 an integer array
* @param nums2 an integer array
* @return an integer array
*/
public int[] intersection(int[] nums1, int[] nums2) {
if (nums1 == null || nums2 == null) {
return null;
}
HashSet<Integer> hs1 = new HashSet<Integer>();
for(int i = 0; i < nums1.length; i++){
hs1.add(nums1[i]);
}
HashSet<Integer> hs2 = new HashSet<Integer>();
for(int i = 0; i < nums2.length; i++){
if(hs1.contains(nums2[i]) && !hs2.contains(nums2[i])){
hs2.add(nums2[i]);
}
}
int[] value = new int[hs2.size()];
int index = 0;
for(Integer i : hs2){
value[index++] = i;
}
return value;
}