leetcode-移除元素-3

移除元素

题目要求
  移除数组中所有的元素val,要求时间复杂度为O(N),空间复杂度为O(1),返回剩余元素的长度。
思路
  题目要求空间复杂度位O(1),因此不能开辟空间,只能在原数组上进行操作,时间复杂度位O(N),我们可以采用覆盖的方式,覆盖原本的数组。
代码实现

int removeElement(int* nums, int numsSize, int val){
	int p1 = 0;

	for (int i = 0; i < numsSize; i++)
	{
		if (nums[i] != val)
		{
			nums[p1] = nums[i];
			p1++;
		}
	}

	return p1;
}

猜你喜欢

转载自blog.csdn.net/weixin_43580319/article/details/113121529