Skip to content
On this page

移除元素

给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后组的新长度。

思路

暴力解法,双层for循环,发现目标数值,数组集体向前移动一位。时间复杂度O(n^2),空间复杂度O(1);

使用双指针(快慢指针),发现目标值,快指针向前一位,慢指针负责更新新数组下标的位置。时间复杂度O(n),空间复杂度O(1);

相向双指针,正向指针找到目标值,反向指针找到可以替换的值,实现最小移动。