https://leetcode.cn/problems/remove-element/description/

<aside> 💡

知识点:数组中的元素不能删除,只能覆盖

</aside>

<aside> 💡

快慢指针:

双指针法(快慢指针法)

// 双指针解法,时间复杂度O(n),空间复杂度O(1)
int removeElement(vector<int>& nums, int val) {
	int fast = 0;			// 快指针负责向前遍历
	int slow = 0;			// 慢指针负责维护更新

	while (fast < nums.size()) {
        // 不需要“删除”的值使用slow进行更新
		if (nums[fast] != val) {
			nums[slow] = nums[fast];
			++fast;
			++slow;
		}
        // 需要“删除”的值直接忽略(没看到就是不存在:D)
		else {
			++fast;
		}
	}
	return slow;
}