【LeetCode-简单题】27. 移除元素

文章目录

    • 题目
    • 方法一:快慢指针

题目

【LeetCode-简单题】27. 移除元素_第1张图片

方法一:快慢指针

【LeetCode-简单题】27. 移除元素_第2张图片

        int fast = 0;// 快指针  用于扫描需要的元素
        int slow = 0;//慢指针  用于记录需要存放元素的位置
class Solution {
// 快慢指针
    public int removeElement(int[] nums, int val) {
        int fast = 0;// 快指针  用于扫描需要存放的元素
        int slow = 0;//慢指针  用于记录需要存放元素的位置
        while(fast < nums.length){
            if(nums[fast] == val)  fast++;//如果fast指向元素==val  直接移动fast
            else{//如果fast指向元素!=val  则将fast位置的元素放到slow  并同步移动slow  
                nums[slow] = nums[fast];
                fast++;
                slow++;
            }
        }
        return slow;//最后slow就是删除元素之后的数组的最后一个元素的位置
    }
}

你可能感兴趣的:(力扣,#,简单题,leetcode,算法,职场和发展)