Question:
Given an array and a value, remove all instances of that value in place and return the new length.
The order of elements can be changed. It doesn't matter what you leave beyond the new length.
#include<stdio.h>
int removeElement(int *nums,int numsSize,int val)
{
int count=0;
int i;
for(i=0;i<numsSize;i++)
{
if(*(nums+i)!=val)
{
*(nums+i-count)=*(nums+i);
}
else
{
count++;
}
}
return (numsSize-count);
}
int main(void)
{
int a[]={1,2,3,4,1,2,3,6};
int t=removeElement(a,8,1);
int i;
printf("length %d\n",t);
for(i=0;i<t;i++)
{
printf("%d",a[i]);
}
}