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记录着原始的索引的元素内容。
简单的数组元素调换

最后修改:2021 年 06 月 30 日
如果觉得我的文章对你有用,请随意赞赏
百度推送成功 必应推送成功