0
点赞
收藏
分享

微信扫一扫

删除元素专题

星河出山 2023-10-29 阅读 20

这篇也是凑数的 ...

题目 :

 LeetCode 27.移除元素 : 

 27. 移除元素

分析  :

快慢指针 :

定义两个指针slow和fast,初始值都是0。Slow之前的位置都是有效部分,fast表示当前要访问的元素。

这样遍历的时候,fast不断向后移动:

  • 如果nums[fast]的值不为val,则将其移动到nums[slow++]
  • 如果nums[fast]的值为val,则fast继续向前移动,slow先等待

这样,前半部分是有效部分,后半部分是无效部分

解析 : 

class Solution {
    public int removeElement(int[] nums, int val) {
        int slow=0;

        for(int fast = 0;fast < nums.length; fast++){
            if(nums[fast] != val){
            nums[slow++] = nums[fast];
            }
        }
        return slow;
    }
}
举报

相关推荐

0 条评论