题目描述
解题思路
- 把两个数组重新排序
- new一个新的数组,空间大小为两个数组中长度最大的一个,足够放下找出来的数
- 循环对比两个数组的大小
class Solution {
public int[] intersection(int[] nums1, int[] nums2) {
Arrays.sort(nums1);
Arrays.sort(nums2);
int index1=0;
int index2=0;
int index=0;
int[] result=new int[Math.max(nums1.length,nums2.length)];
while (index1<nums1.length && index2<nums2.length){
if (nums1[index1] == nums2[index2]) {
result[index]=nums1[index1];
index++;
index1++;
index2++;
}else if (nums1[index1]<nums2[index2]){
index1++;
}else {
index2++;
}
}
return Arrays.copyOfRange(result, 0, index);
}
}