27.双指针移除元素

23 阅读1分钟

image.png

image.png

  • 关键点
  • 快慢指针的作用是是什么,快指针用来判断元素是否要放到slow引导的数组中,慢指针则用来生成新的数组
  • return的到底是slow还是slow+1,要会判断。
class Solution {
    public int removeElement(int[] nums, int val) {
        int fast = 0;
        int slow = 0;
        for(;fast < nums.length;fast++){
            if(nums[fast] != val){
                nums[slow] = nums[fast];
                slow++;
            }
        }
        return slow;
    }
}