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.


Input: [0,1,0,3,12] Output: [1,3,12,0,0]


You must do this in-place without making a copy of the array.
Minimize the total number of operations.


Maintain two pointers, Pointer i points position where none zero element needs present and pointer j points zero position, during iteration swap the value from i to j and mark value of index i as 0.



1 3 12 0 0

We encourage you to write a comment if you have a better solution or having any doubt on the above topic.

Leave a Reply

Your email address will not be published. Required fields are marked *