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。
转载请注明原文地址:https://blackberry.8miu.com/read-8278.html