-
Notifications
You must be signed in to change notification settings - Fork 30
Expand file tree
/
Copy pathmove-zeroes.js
More file actions
33 lines (31 loc) · 875 Bytes
/
move-zeroes.js
File metadata and controls
33 lines (31 loc) · 875 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// 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.
//
//
//
// Credits:Special thanks to @jianchao.li.fighter for adding this problem and creating all test cases.
/**
* @param {number[]} nums
* @return {void} Do not return anything, modify nums in-place instead.
*/
var moveZeroes = function(nums) {
var index = 0;
for (var i = 0, l = nums.length; i < l; i++) {
if (nums[i] !== 0) {
nums[index++] = nums[i];
}
}
for (i = index; i < l; i++) {
nums[i] = 0;
}
};