349. 两个数组的交集 350. 两个数组的交集 II
链接
349. 两个数组的交集
解法一
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210514113656131.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzUyMDI1Ng==,size_16,color_FFFFFF,t_70)
class Solution {
public int[] intersection(int[] nums1, int[] nums2)
{
if (nums1 == null || nums2 == null)
{
return null;
}
Set<Integer> set1 = new HashSet<>();
Set<Integer> set2 = new HashSet<>();
for (int j : nums1)
{
set1.add(j);
}
for (int i : nums2)
{
if (set1.contains(i))
{
set2.add(i);
}
}
List<Integer> list = new ArrayList<>(set2);
int[] ret = new int[list.size()];
for (int i = 0; i < ret.length; i++)
{
ret[i] = list.get(i);
}
return ret;
}
}
解法二
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210514113841737.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzUyMDI1Ng==,size_16,color_FFFFFF,t_70)
class Solution {
public int[] intersection(int[] nums1, int[] nums2)
{
if (nums1 == null || nums2 == null)
{
return null;
}
Set<Integer> set = new TreeSet<>();
for (int k : nums1)
{
for (int i : nums2)
{
if (k == i)
{
set.add(k);
}
}
}
int[] ret = new int[set.size()];
List<Integer> list = new ArrayList<>(set);
for (int i = 0; i < ret.length; i++)
{
ret[i] = list.get(i);
}
return ret;
}
}
350. 两个数组的交集 II
解法
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210514123313592.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzUyMDI1Ng==,size_16,color_FFFFFF,t_70)
class Solution {
public int[] intersect(int[] nums1, int[] nums2)
{
if (nums1 == null || nums2 == null)
{
return null;
}
List<Integer> list1 = new ArrayList<>();
List<Integer> list2 = new ArrayList<>();
for (int i : nums1)
{
list1.add(i);
}
for (int i : nums2)
{
if (list1.contains(i))
{
list2.add(i);
list1.remove(Integer.valueOf(i));
}
}
int[] ret = new int[list2.size()];
int i = 0;
for (int num : list2)
{
ret[i++] = num;
}
return ret;
}
}