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

题目

在这里插入图片描述

方法一:快慢指针

在这里插入图片描述

        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就是删除元素之后的数组的最后一个元素的位置
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_45618869/article/details/132794197