删除有序数组中的重复项

26. 删除有序数组中的重复项

题目

26. 删除有序数组中的重复项

解题思路

双指针,快慢指针,快指针指向需要判定的元素,慢指针指向已保存元素

处理逻辑为:当快慢指针指向的值不一致时,就需要将快指针指向的元素复制给慢指针

只需要返回慢指针就行,但是这里慢指针保存的游标,实际应该返回个数,所以需要+1

Code

func removeDuplicates(nums []int) int {
    var (
        fast int = 0
        slow int = 0
    )
    for ;fast < len(nums);{
        if nums[slow] != nums[fast] {
            slow++
            nums[slow] = nums[fast]
        }
        fast++
    }
    return slow + 1
}
请用钱砸死我!!!