Skip to content

Commit 0794f6b

Browse files
authored
Update 283-Move-Zeroes.js
Added solution with linear space just for reference's sake.
1 parent d16752c commit 0794f6b

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

javascript/283-Move-Zeroes.js

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,27 @@
1+
/**
2+
* Linear Time
3+
* Time Complexity O(N) | Space Complexity O(N);
4+
* @param {number[]} nums
5+
* @return {void} Do not return anything, modify nums in-place instead.
6+
*/
7+
var moveZeroes = function(nums) {
8+
9+
const zeroAtTheEnd = Array(nums.length).fill(0);
10+
let left = 0;
11+
let right = zeroAtTheEnd.length - 1;
12+
13+
for (let i = 0; i < nums.length; i++) {
14+
if (nums[i] === 0) {
15+
right--;
16+
} else {
17+
zeroAtTheEnd[left] = nums[i];
18+
left++;
19+
}
20+
}
21+
22+
return zeroAtTheEnd;
23+
};
24+
125
/**
226
* 2 Pointer
327
* Time O(N) | Space O(1)

0 commit comments

Comments
 (0)