/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* intersection
* @param nums1 int整型一维数组 数组1
* @param nums1Len int nums1数组长度
* @param nums2 int整型一维数组 数组2
* @param nums2Len int nums2数组长度
* @return int整型一维数组
* @return int* returnsize1 返回数组行数
* C语言声明定义全局变量请加上static,防止重复定义
*/
#include<stdio.h>
#include <stdlib.h>
int* intersection(int* nums1, int nums1Len, int* nums2, int nums2Len,
int* returnsize ) {
// write code here
int* returnsize1 = (int*)malloc(sizeof(int) * 1001);
//!!!!!c语言返回数组要用指针定义!!!!!
//malloc(memory allocation)动态分配内存空间,返回值类型为void,要强制转换成int指针
int returnsize1Len = 0;
int flag = 0;
for (int i = 0; i < nums1Len; i++)
for (int j = 0; j < nums2Len; j++) {
if (nums1[i] == nums2[j]) {
if (returnsize1Len == 0) {
returnsize1[returnsize1Len] = nums1[i];
returnsize1Len++;
} else {
flag = 0;
for (int k = 0; k < returnsize1Len; k++) {
if (nums1[i] == returnsize1[k]) {
flag = 1;
}
}
if (flag == 0) {
returnsize1[returnsize1Len] = nums1[i];
returnsize1Len++;
}
}
}
}
*returnsize = returnsize1Len;
return returnsize1;
}