``` func moveZeroes(nums []int) { index:=0 for p:=0;p Loading... ``` 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 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏