27. 移除元素
快慢指针法
执行用时:0 ms, 在所有 Java 提交中击败了100.00%的用户 内存消耗:36.9 MB, 在所有 Java 提交中击败了82.48%的用户
class Solution {
// slowIdx 为慢指针,fastIdx 为快指针
// 当 nums[fastIdx] 等于 val 时跳过,否则将 nums[fastIdx] 赋值给 nums[slowIdx]
// 最后返回慢指针的索引即可
public int removeElement(int[] nums, int val) {
int slowIdx = 0;
for (int fastIdx = 0; fastIdx < nums.length; fastIdx ++) {
if (nums[fastIdx] != val) {
nums[slowIdx ++] = nums[fastIdx];
}
}
return slowIdx;
}
}