move-zeroes

Problem

Move Zeroes

Problem Description

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.

Example:

Input: [0,1,0,3,12]
Output: [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.

Solution

Two pointer (left, right), left keep track most left zero number position, right keep track of left most non-zero number position, then do swap(left, right). Continue the process until the end of array nums.

For example:

Move Zeroes

Complexity Analysis

Time Complexity: O(N)

Space Complexity: O(1)

  • N - the length of array nums

Code

Last updated

Was this helpful?