# LeetCode: Move Zeroes Solution

*Go for an optimal solution in the first go could lead to frustration*

## Approach: Nested Loops

Exhausively check all the index pairs and swap

## Implementation

1var moveZeroes = function (nums) {2 const N = nums.length34 for (let i = 0; i < N - 1; i++) {5 for (let j = i + 1; j < N; j++) {6 if (nums[i] === 0) {7 ;[nums[i], nums[j]] = [nums[j], nums[i]]8 }9 }10 }11}

## Approach: Isolated Loops

One loop is to fill all non-zero numbers to the first part

One loop is to fill the rest zeroes to the rest part

## Implementation

1var moveZeroes = function (nums) {2 const n = nums.length3 let i = 045 for (const num of nums) {6 if (num !== 0) nums[i++] = num7 }89 for (; i < n; i++) {10 nums[i] = 011 }12}

## Comments

Loading comments...

## Tags

leetcode

array

two pointers

## Apply and earn a $2,500 bonus once you're hired on your first job!

Clients from the Fortune 500 to Silicon Valley startups

Choose your own rate, get paid on time

From hourly, part-time, to full-time positions

Flexible remote working environment

A lot of open JavaScript jobs!!

**Fact corner:** Referred talent are 5x more likely to pass the Toptal screening process than the average applicant.

**Still hesitate?** Read HoningJS author's guide on dealing with Toptal interview process.

## Next Post

LeetCode: Implement Strstr

Feb 5, 2021