27. 移除元素

image.png
image.png

快慢指针法

执行用时:0 ms, 在所有 Java 提交中击败了100.00%的用户 内存消耗:36.9 MB, 在所有 Java 提交中击败了82.48%的用户

  1. class Solution {
  2. // slowIdx 为慢指针,fastIdx 为快指针
  3. // 当 nums[fastIdx] 等于 val 时跳过,否则将 nums[fastIdx] 赋值给 nums[slowIdx]
  4. // 最后返回慢指针的索引即可
  5. public int removeElement(int[] nums, int val) {
  6. int slowIdx = 0;
  7. for (int fastIdx = 0; fastIdx < nums.length; fastIdx ++) {
  8. if (nums[fastIdx] != val) {
  9. nums[slowIdx ++] = nums[fastIdx];
  10. }
  11. }
  12. return slowIdx;
  13. }
  14. }