LeetCode 数组类题 移除元素 GOLANG实现
题目如下:

思路:
- 直接把有效值前移(双指针,第一想法)
- 双指针优化(因为前面有说明可以不用注意顺序)
Code:
思路1
func removeElement(nums []int, val int) int {
count:=0
for _,v:=range nums{
if v!=val{
nums[count]=v
count++
}
}
return count
}
思路2(官方)
func removeElement(nums []int, val int) int {
left, right := 0, len(nums)
for left < right {
if nums[left] == val {
nums[left] = nums[right-1]
right--
} else {
left++
}
}
return left
}


本文系作者 @孤独常伴 原创发布在 L0ne1y。未经许可,禁止转载。