思路一:新开辟一个数组,空间复杂度O(N)
因为本题要求是空间复杂度O(1),所以这里只是列出思路1的思路和配图,并没有具体的实现代码,想必这对大家一定很简单。
思路二:使用快慢指针,空间复杂度O(1),在数组中就用下标表示。
如果dest所指向的内容不是val,就将arr[dest]的内容赋值到arr[src]中。
int removeElement(int* nums, int numsSize, int val) {
int slow = 0;
int fast = 0;
while(fast < numsSize)
{
if(nums[fast] != val)
{
nums[slow++] = nums[fast];
}
fast++;
}
return slow;
}