/*
参数Data数组为要处理的数据
*length存储数组长度
返回值失败返回0,成功返回1
*/
int Delete_Same(int Data[], int* length) {
if (*length == 0)
return 0;
int i,j;
for (i = 0, j = 1; j < *length; j++)
if (Data[i] != Data[j])
Data[++i] = Data[j];
*length = i + 1;
return 1;
}
/*
测试
*/
void test1() {
int d[] = { 1,2,2,2,2,3,3,3,4,4,5 };
int len = 11;
if (Delete_Same(d, &len)) {
for (int i = 0; i < len; i++)
printf("%d ", d[i]);
}
}
//输出结果为1 2 3 4 5
参考leetcode