func moveZeroes(nums []int) {
index:=0
for p:=0;p<len(nums);p++ {
if nums[p]!=0{
indexs:=nums[index]
nums[index]=nums[p]
nums[p]=indexs
index++
}
}
fmt.Println(nums)
}
解析:
当nums[p]!=0时,就开始互相调换元素位置所对应的答案。
在这里有一个关键的变量index,他是记录着调换后的不是零的位置,也就意味着,他不会受到其他影响,导致交换位置出错。
之所以这么做,时应为零要全部调换位置到最后面。
也避免了中间和末尾有零的影响,
index记录着原始的索引的元素内容。
简单的数组元素调换