题目
给定一个整数数组 nums
和 整数 val
,删除 nums 中出现的所有 val 值,将剩余的数放到数组的前 n 个位置。
解析
- 需要一个指针 i 用于遍历元素
- 需要一个指针 last 用于标识已经符合要求的元素,为了方便期间,将 last 指向满足要求元素的下一个位置。
- 比较 i 和 val,如果不想等,将 i 移入 last, last 后移,否则什么也不做,然后递增 i 指针
伪代码
last:=0
for ;i<len(nums); i++
if nums[i] != val
nums[last] = nums[i]
return last
代码
func removeElement(nums []int, val int) int {
last:=0
for i:=0; i<len(nums); i++ {
if nums[i] != val {
nums[last] = nums[i]
last++
}
}
return last
}
image.png
网友评论