遍历
func removeDuplicates(nums []int) int { var numss []int if len(nums) == 0 { return 0 } for _, v := range nums { if len(numss) == 0 { numss = append(numss, v) } else { i := len(numss) - 1 if numss[i] == v { } else { numss = append(numss, v) } } } for i, v:=range numss { nums[i] = v } return len(numss)}
双指针
func removeDuplicates(nums []int) int {
n := len(nums)
if n == 0 {
return 0
}
slow := 1
for fast := 1; fast < n; fast++ {
if nums[fast] != nums[fast-1] {
nums[slow] = nums[fast]
slow++
}
}
return slow
}
func removeDuplicates(nums []int) int {
n := len(nums)
if n == 0 {
return 0
}
s := 1
for i:=1;i<n;i++{
if nums[i] != nums[i-1] {
nums[s] = nums[i]
s++
}
}
return s
}