原地移除元素
思路一:
找到所有的val,依次覆盖数据覆盖删除val。
——————
可是这种时间复杂度比较高,是O(N^2);
那么能否时间复杂度优化到O(N)呢??
————
思路2:
以空间换时间的思想
那么能否时间复杂度优化到O(N),空间复杂度优化到O(1)呢??
——————
思路3:
最优解:
int removeElement(int* nums, int numsSize, int val){
int src = 0,dst = 0;
while(src < numsSize)
{
if(nums[src] != val)
{
nums[dst] = nums[src];
src++;
dst++;
}
else
{
src++;
}
}
return dst;
}