Description

Given an integer array nums, move all 0's to the end of it while maintaining the relative order of the non-zero elements. Note that you must do this in-place without making a copy of the array.

Examples

Input:nums = [0,1,0,3,12]
Output:[1,3,12,0,0]
Explanation:

All zeros are moved to the end.

Input:nums = [0]
Output:[0]
Explanation:

Array has only one element.

Input:nums = [5, -2, 0, 0, 8, 0, -1]
Output:[5, -2, 8, -1, 0, 0, 0]
Explanation:

The non-zero elements (5, -2, 8, -1) maintain their relative order and are moved to the front, while all three zeros are moved to the end of the array.

Constraints

  • 1 ≤ nums.length ≤ 10⁴
  • -2³¹ ≤ nums[i] ≤ 2³¹ - 1

Ready to solve this problem?

Practice solo or challenge other developers in a real-time coding battle!