欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Golang刷LeetCode 27. 移除元素

程序员文章站 2024-03-22 11:42:22
...

LeetCode题目
代码实现:Go语言

func removeElement(nums []int, val int) int {
fast,slow:=0,0
    for fast<len(nums){
        if nums[fast]!=val{
            nums[slow]=nums[fast]
            slow++
        }
        fast++
    }
    return slow
}

解题思路:快慢指针
利用fast遍历数组 如果不重复将数值给slow 并让slow往前走 如果fast与元素值相同则fast继续往前走。
注意:区别于26题
这里是先给 nums[slow] 赋值然后再给 slow++,这样可以保证 nums[0…slow-1] 是不包含值为 val 的元素,最后的结果数组长度为slow。