// 必须在原数组上操作,不能拷贝额外的数组。
// 尽量减少操作次数。
// 这道题是双指针问题无疑了,基本上数组的题都跟双指针分不开,基本上
// 双指针问题都要用到先排序,不过这个题不需要。
func moveZeroes(nums []int) {
i,j := 0,0
for j < len(nums){
if nums[j] != 0 {
nums[i] = nums[j]
i++
}
j++
}
// 这个循环完毕以后,i的下下标豆薯属于非零的了,那么可以说i后面的下标都是0了,但是
// 目前还没有。因为有一些内存地址还是其它值的,
// 比如这样 [1,3,12,3,12]
// 那么我们要做的就是把i后面的索引变成0就OK了。对吧对吧。
for i < len(nums) {
nums[i] = 0
i++
}
}