Skip to content

Commit d6e59eb

Browse files
authored
Update 283-Move-Zeroes.js
1 parent dc04f48 commit d6e59eb

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

javascript/283-Move-Zeroes.js

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,20 @@
11
/**
2+
* 2 Pointer
3+
* Time O(N) | Space O(1)
4+
* https://leetcode.com/problems/move-zeroes/
25
* @param {number[]} nums
36
* @return {void} Do not return anything, modify nums in-place instead.
47
*/
5-
var moveZeroes = function(nums) {
6-
let pos = 0;
7-
8-
for(let i in nums) {
9-
if(nums[i] !== 0) {
10-
let temp = nums[i];
11-
nums[i] = nums[pos];
12-
nums[pos] = temp;
13-
pos++;
8+
var moveZeroes = (nums) => {
9+
let [ left, right ] = [ 0, 0 ];
10+
11+
while (right < nums.length) {
12+
const canSwap = (nums[right] !== 0)
13+
if (canSwap) {
14+
[nums[left], nums[right]] = [nums[right], nums[left]];
15+
left++;
1416
}
17+
18+
right++;
1519
}
1620
};

0 commit comments

Comments
 (0)