思想:
除了用暴力法(发现一个0就计数,然后把后面所有的数前移一位,最后把0补齐),可以用双指针。
双指针,一慢一快,慢指针指着0位置,快指针指着数字,如果遇到数字就和0位置互换,然后慢指针指下一个0位置。
func moveZeroes(nums []int) {
left, right, n := 0, 0, len(nums)
for right < n { // 、
if nums[right] != 0 {
nums[left], nums[right] = nums[right], nums[left]
left++
}
right++
}
}