LeetCode 283. 移动零(简单题)
题解:
这里用一个O(n)的方法,把不是0的先补上去,后面再添加后置0,这样就相当于每个数都一次性换到了最终的位置,所以是操作次数最少的而且不用额外空间。
func moveZeroes(nums []int) {
zeroPointer := 0
for _, num := range nums {
if num != 0 {
nums[zeroPointer] = num
zeroPointer += 1
}
}
for i := zeroPointer; i < len(nums); i++ {
nums[i] = 0
}
}
每周三题,前面的题比较简单,不过贵在坚持,这一阶段目标是先把hot100刷完。