Leetcode 283. 移动零 GOLANG实现
2021-04-24 本文已影响0人
L0ne1y
题目如下
![](https://img.haomeiwen.com/i14305346/a78c26247f939cae.png)
实现思路:
- 新开一个数组存放非0,因为Go默认值为0,所以只需要填非0的位置
- 先把非0值移位,并且统计非0个数,最后把其他位置填0
- 在第二思路的基础上一起走
Code
思路2
func moveZeroes(nums []int) {
var i,j int
//先把非0值前移,并统计非0值个数
for i,j=0,0;i<len(nums);i++{
if(nums[i]!=0){
nums[j]=nums[i]
j++
}
}
//把除去非0值的位置填0
for i=i-1;i>=j;i--{
nums[i]=0
}
}
思路3
func moveZeroes(nums []int) {
var i,j int
for i,j=0,0;i<len(nums);i++{
if(nums[i]!=0){
nums[j]=nums[i]
if i!=j{
nums[i]=0
}
j++
}
}
}