leetcode283移动零

leetcode283 Move Zeroes

Posted by BY on September 5, 2018

前言

假装开学好好学习

正文

问题来源

本问题来自leetcode上的283题。水

问题描述

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。

示例 :

输入: [0,1,0,3,12]
输出: [1,3,12,0,0]

分析:

记录0的个数,先将非零的直接移动。最后补上0. 本人写的Go代码如下:

func moveZeroes(nums []int)  {
	count := 0
	len := len(nums)
	for i := 0; i < len; i++ {
		num := nums[i]
		if 0 == num {
			count++
		} else {
			nums[i-count] = num
		}
	}
	end := len - count
	for i := len-1; i >= end; i-- {
		nums[i] = 0
	}
}

总结:

勤思考

结语

不管怎么样好好加油。