LeetCode: Move Zeroes
来源:互联网 发布:前端如何优化代码 编辑:程序博客网 时间:2024/05/21 18:57
Given an array nums
, write a function to move all 0
's to the end of it while maintaining the relative order of the non-zero elements.
For example, given nums = [0, 1, 0, 3, 12]
, after calling your function, nums
should be [1, 3, 12, 0, 0]
.
Note:
- You must do this in-place without making a copy of the array.
- Minimize the total number of operations.
题意即,给出一个整数数组,把其中的0都移动到数组的末尾,同时保持原来数组中其他非零元素的相对顺序,并且要求不能重新申请另外的数组空间,要求最小化要进行操作的元素数量。
解题思路:遍历数组,使用一个索引进行非零元素的插入操作,最后将剩下的全部元素全部赋值为0。时间复杂度为O(n),空间复杂度为O(1)
代码如下:
public void moveZeroes(int[] nums) { if (nums == null || nums.length == 0) return; int insertPos = 0; for (int num: nums) { if (num != 0) nums[insertPos++] = num; } while (insertPos < nums.length) { nums[insertPos++] = 0; }}
0 0
- leetcode 283: Move Zeroes
- leetcode - Move Zeroes
- Leetcode: Move Zeroes
- LeetCode - Move Zeroes
- LeetCode-Move Zeroes
- [LeetCode]Move Zeroes
- leetcode-283-Move Zeroes
- [leetcode 283]Move Zeroes
- LeetCode---Move Zeroes
- LeetCode 283----Move Zeroes
- LeetCode Move Zeroes
- LeetCode Move Zeroes
- Leetcode #283 Move Zeroes
- leetcode: (283) Move Zeroes
- [LeetCode 283] Move Zeroes
- 【LeetCode】Move Zeroes
- LeetCode-Move Zeroes
- [LeetCode] Move Zeroes
- Yaf学习笔记之多模块
- flask笔记:13:将Flask应用程序部署在nginx,tornado的简单方法
- jquery操作select
- vs2013配置opencv2.0
- 网站架构核心要素
- LeetCode: Move Zeroes
- HBase安装
- CPP复习笔记 2
- 自身连接
- servlet与JSP区别
- Opencv(1)---图像读取、显示、保存
- jms简介
- Linux进度条实现与Makefile文件创建
- 2016 Multi-University Training Contest 2 -Keep On Movin