int removeElement(int* nums, int numsSize, int val)
{
int* p1 = nums;
int* p2 = nums;
int i = 0;
int j = 0;
while (i < numsSize)
{
if (*nums == val)
{
for (int k = i; k < numsSize; k++)
{
if (*p2 != val)
{
int tmp = *nums;
*nums = *p2;
*p2 = tmp;
break;
}
i++;
p2++;
}
}
i++;
nums++;
p2++;
}
int sum = 0;
for (i = 0; i < numsSize; i++)
{
if (*p1++ != val)
{
sum++;
}
}
return sum;
}